⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 trailwt.t

📁 source of perl for linux application,
💻 T
字号:
BEGIN {    unless ("A" eq pack('U', 0x41)) {	print "1..0 # Unicode::Collate " .	    "cannot stringify a Unicode code point\n";	exit 0;    }    if ($ENV{PERL_CORE}) {	chdir('t') if -d 't';	@INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);    }}use Test;BEGIN { plan tests => 58 };use strict;use warnings;use Unicode::Collate;#########################ok(1);# a standard collator (3.1.1)my $Collator = Unicode::Collate->new(  level => 1,  table => 'keys.txt',  normalization => undef,  entry => <<'ENTRIES',326E  ; [.1831.0020.0006.326E][.188D.0020.0006.326E] # c.h.s. GA326F  ; [.1833.0020.0006.326F][.188D.0020.0006.326F] # c.h.s. NA3270  ; [.1834.0020.0006.3270][.188D.0020.0006.3270] # c.h.s. DA3271  ; [.1836.0020.0006.3271][.188D.0020.0006.3271] # c.h.s. RA3272  ; [.1837.0020.0006.3272][.188D.0020.0006.3272] # c.h.s. MA3273  ; [.1838.0020.0006.3273][.188D.0020.0006.3273] # c.h.s. BA3274  ; [.183A.0020.0006.3274][.188D.0020.0006.3274] # c.h.s. SA3275  ; [.183C.0020.0006.3275][.188D.0020.0006.3275] # c.h.s. A3276  ; [.183D.0020.0006.3276][.188D.0020.0006.3276] # c.h.s. JA3277  ; [.183F.0020.0006.3277][.188D.0020.0006.3277] # c.h.s. CA3278  ; [.1840.0020.0006.3278][.188D.0020.0006.3278] # c.h.s. KA3279  ; [.1841.0020.0006.3279][.188D.0020.0006.3279] # c.h.s. TA327A  ; [.1842.0020.0006.327A][.188D.0020.0006.327A] # c.h.s. PA327B  ; [.1843.0020.0006.327B][.188D.0020.0006.327B] # c.h.s. HAENTRIES);my $hangul = Unicode::Collate->new(  level => 1,  table => 'keys.txt',  normalization => undef,  hangul_terminator => 16,  entry => <<'ENTRIES',326E  ; [.1831.0020.0006.326E][.188D.0020.0006.326E] # c.h.s. GA326F  ; [.1833.0020.0006.326F][.188D.0020.0006.326F] # c.h.s. NA3270  ; [.1834.0020.0006.3270][.188D.0020.0006.3270] # c.h.s. DA3271  ; [.1836.0020.0006.3271][.188D.0020.0006.3271] # c.h.s. RA3272  ; [.1837.0020.0006.3272][.188D.0020.0006.3272] # c.h.s. MA3273  ; [.1838.0020.0006.3273][.188D.0020.0006.3273] # c.h.s. BA3274  ; [.183A.0020.0006.3274][.188D.0020.0006.3274] # c.h.s. SA3275  ; [.183C.0020.0006.3275][.188D.0020.0006.3275] # c.h.s. A3276  ; [.183D.0020.0006.3276][.188D.0020.0006.3276] # c.h.s. JA3277  ; [.183F.0020.0006.3277][.188D.0020.0006.3277] # c.h.s. CA3278  ; [.1840.0020.0006.3278][.188D.0020.0006.3278] # c.h.s. KA3279  ; [.1841.0020.0006.3279][.188D.0020.0006.3279] # c.h.s. TA327A  ; [.1842.0020.0006.327A][.188D.0020.0006.327A] # c.h.s. PA327B  ; [.1843.0020.0006.327B][.188D.0020.0006.327B] # c.h.s. HAENTRIES);ok(ref $hangul, "Unicode::Collate");########################## LVX vs LVV: /GAA/ vs /GA/.latinAok($Collator->gt("\x{1100}\x{1161}\x{1161}", "\x{1100}\x{1161}A"));ok($hangul  ->gt("\x{1100}\x{1161}\x{1161}", "\x{1100}\x{1161}A"));# LVX vs LVV: /GAA/ vs /GA/.hiraganaAok($Collator->lt("\x{1100}\x{1161}\x{1161}", "\x{1100}\x{1161}\x{3042}"));ok($hangul  ->gt("\x{1100}\x{1161}\x{1161}", "\x{1100}\x{1161}\x{3042}"));# LVX vs LVV: /GAA/ vs /GA/.hanjaok($Collator->lt("\x{1100}\x{1161}\x{1161}", "\x{1100}\x{1161}\x{4E00}"));ok($hangul  ->gt("\x{1100}\x{1161}\x{1161}", "\x{1100}\x{1161}\x{4E00}"));# LVL vs LVT: /GA/./G/ vs /GAG/ok($Collator->lt("\x{1100}\x{1161}\x{1100}", "\x{1100}\x{1161}\x{11A8}"));ok($hangul  ->lt("\x{1100}\x{1161}\x{1100}", "\x{1100}\x{1161}\x{11A8}"));# LVT vs LVX: /GAG/ vs /GA/.latinAok($Collator->gt("\x{1100}\x{1161}\x{11A8}", "\x{1100}\x{1161}A"));ok($hangul  ->gt("\x{1100}\x{1161}\x{11A8}", "\x{1100}\x{1161}A"));# LVT vs LVX: /GAG/ vs /GA/.hiraganaAok($Collator->lt("\x{1100}\x{1161}\x{11A8}", "\x{1100}\x{1161}\x{3042}"));ok($hangul  ->gt("\x{1100}\x{1161}\x{11A8}", "\x{1100}\x{1161}\x{3042}"));# LVT vs LVX: /GAG/ vs /GA/.hanjaok($Collator->lt("\x{1100}\x{1161}\x{11A8}", "\x{1100}\x{1161}\x{4E00}"));ok($hangul  ->gt("\x{1100}\x{1161}\x{11A8}", "\x{1100}\x{1161}\x{4E00}"));# LV vs Syl(LV): /GA/ vs /[GA]/ok($Collator->eq("\x{1100}\x{1161}", "\x{AC00}"));ok($hangul  ->eq("\x{1100}\x{1161}", "\x{AC00}"));# LVT vs Syl(LV)T: /GAG/ vs /[GA]G/ok($Collator->eq("\x{1100}\x{1161}\x{11A8}", "\x{AC00}\x{11A8}"));ok($hangul  ->eq("\x{1100}\x{1161}\x{11A8}", "\x{AC00}\x{11A8}"));# LVT vs Syl(LVT): /GAG/ vs /[GAG]/ok($Collator->eq("\x{1100}\x{1161}\x{11A8}", "\x{AC01}"));ok($hangul  ->eq("\x{1100}\x{1161}\x{11A8}", "\x{AC01}"));# LVTT vs Syl(LVTT): /GAGG/ vs /[GAGG]/ok($Collator->eq("\x{1100}\x{1161}\x{11A9}", "\x{AC02}"));ok($hangul  ->eq("\x{1100}\x{1161}\x{11A9}", "\x{AC02}"));# Syl(LVT) vs : /GAG/ vs /[GAG]/ok($Collator->eq("\x{1100}\x{1161}\x{11A8}", "\x{AC01}"));ok($hangul  ->eq("\x{1100}\x{1161}\x{11A8}", "\x{AC01}"));#########################my $hangcirc = Unicode::Collate->new(  level => 1,  table => 'keys.txt',  normalization => undef,  hangul_terminator => 16,  entry => <<'ENTRIES',326E  ; [.1831.0020.0006.326E][.188D.0020.0006.326E][.10.0.0.0] # c.h.s. GA326F  ; [.1833.0020.0006.326F][.188D.0020.0006.326F][.10.0.0.0] # c.h.s. NA3270  ; [.1834.0020.0006.3270][.188D.0020.0006.3270][.10.0.0.0] # c.h.s. DA3271  ; [.1836.0020.0006.3271][.188D.0020.0006.3271][.10.0.0.0] # c.h.s. RA3272  ; [.1837.0020.0006.3272][.188D.0020.0006.3272][.10.0.0.0] # c.h.s. MA3273  ; [.1838.0020.0006.3273][.188D.0020.0006.3273][.10.0.0.0] # c.h.s. BA3274  ; [.183A.0020.0006.3274][.188D.0020.0006.3274][.10.0.0.0] # c.h.s. SA3275  ; [.183C.0020.0006.3275][.188D.0020.0006.3275][.10.0.0.0] # c.h.s. A3276  ; [.183D.0020.0006.3276][.188D.0020.0006.3276][.10.0.0.0] # c.h.s. JA3277  ; [.183F.0020.0006.3277][.188D.0020.0006.3277][.10.0.0.0] # c.h.s. CA3278  ; [.1840.0020.0006.3278][.188D.0020.0006.3278][.10.0.0.0] # c.h.s. KA3279  ; [.1841.0020.0006.3279][.188D.0020.0006.3279][.10.0.0.0] # c.h.s. TA327A  ; [.1842.0020.0006.327A][.188D.0020.0006.327A][.10.0.0.0] # c.h.s. PA327B  ; [.1843.0020.0006.327B][.188D.0020.0006.327B][.10.0.0.0] # c.h.s. HAENTRIES);# LV vs Circled Syl(LV): /GA/ vs /(GA)/ok($Collator->eq("\x{1100}\x{1161}", "\x{326E}"));ok($hangul  ->gt("\x{1100}\x{1161}", "\x{326E}"));ok($hangcirc->eq("\x{1100}\x{1161}", "\x{326E}"));# LV vs Circled Syl(LV): followed by latin Aok($Collator->eq("\x{1100}\x{1161}A", "\x{326E}A"));ok($hangul  ->lt("\x{1100}\x{1161}A", "\x{326E}A"));ok($hangcirc->eq("\x{1100}\x{1161}A", "\x{326E}A"));# LV vs Circled Syl(LV): followed by hiragana Aok($Collator->eq("\x{1100}\x{1161}\x{3042}", "\x{326E}\x{3042}"));ok($hangul  ->lt("\x{1100}\x{1161}\x{3042}", "\x{326E}\x{3042}"));ok($hangcirc->eq("\x{1100}\x{1161}\x{3042}", "\x{326E}\x{3042}"));# LVT vs LVX: /GAG/ vs /GA/.hanjaok($Collator->eq("\x{1100}\x{1161}\x{4E00}", "\x{326E}\x{4E00}"));ok($hangul  ->lt("\x{1100}\x{1161}\x{4E00}", "\x{326E}\x{4E00}"));ok($hangcirc->eq("\x{1100}\x{1161}\x{4E00}", "\x{326E}\x{4E00}"));########################## checks contraction in LVT:# weights of these contractions may be non-sense.my $hangcont = Unicode::Collate->new(  level => 1,  table => 'keys.txt',  normalization => undef,  hangul_terminator => 16,  entry => <<'ENTRIES',1100 1161 ; [.1831.0020.0002.1100][.188D.0020.0002.1161] # KIYEOK+A1161 11A8 ; [.188D.0020.0002.1161][.18CF.0020.0002.11A8] # A+KIYEOKENTRIES);# cont<LV> vs Syl(LV): /<GA>/ vs /[GA]/ok($Collator->eq("\x{1100}\x{1161}", "\x{AC00}"));ok($hangcont->eq("\x{1100}\x{1161}", "\x{AC00}"));# cont<LV>.T vs Syl(LV).T: /<GA>G/ vs /[GA]G/ok($Collator->eq("\x{1100}\x{1161}\x{11A8}", "\x{AC00}\x{11A8}"));ok($hangcont->eq("\x{1100}\x{1161}\x{11A8}", "\x{AC00}\x{11A8}"));# cont<LV>.T vs Syl(LVT): /<GA>G/ vs /[GAG]/ok($Collator->eq("\x{1100}\x{1161}\x{11A8}", "\x{AC01}"));ok($hangcont->eq("\x{1100}\x{1161}\x{11A8}", "\x{AC01}"));# L.cont<VT> vs Syl(LV).T: /D<AG>/ vs /[DA]G/ok($Collator->eq("\x{1103}\x{1161}\x{11A8}", "\x{B2E4}\x{11A8}"));ok($hangcont->eq("\x{1103}\x{1161}\x{11A8}", "\x{B2E4}\x{11A8}"));# L.cont<VT> vs Syl(LVT): /D<AG>/ vs /[DAG]/ok($Collator->eq("\x{1103}\x{1161}\x{11A8}", "\x{B2E5}"));ok($hangcont->eq("\x{1103}\x{1161}\x{11A8}", "\x{B2E5}"));#####$Collator->change(hangul_terminator => 16);ok($Collator->gt("\x{1100}\x{1161}\x{11A8}", "\x{1100}\x{1161}\x{4E00}"));ok($Collator->gt("\x{1100}\x{1161}", "\x{326E}"));ok($Collator->lt("\x{1100}\x{1161}A", "\x{326E}A"));ok($Collator->lt("\x{1100}\x{1161}\x{3042}", "\x{326E}\x{3042}"));ok($Collator->lt("\x{1100}\x{1161}\x{4E00}", "\x{326E}\x{4E00}"));$Collator->change(hangul_terminator => 0);ok($Collator->lt("\x{1100}\x{1161}\x{11A8}", "\x{1100}\x{1161}\x{4E00}"));ok($Collator->eq("\x{1100}\x{1161}", "\x{326E}"));ok($Collator->eq("\x{1100}\x{1161}A", "\x{326E}A"));ok($Collator->eq("\x{1100}\x{1161}\x{3042}", "\x{326E}\x{3042}"));ok($Collator->eq("\x{1100}\x{1161}\x{4E00}", "\x{326E}\x{4E00}"));1;__END__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -