upTeX 标点分类,说说chartype
2021-03-20 本文已影响0人
千羽之城88
软件
- jfmutil: 下载
- perl
正文
jlreq宏包在upTeX的基础上,将标点符号分为14类,如果用jfmutil工具可以非常方便地提取虚拟字体包含的分类模型,比如:
jfmutil vf2zvp -u --lenient ujlreq-v
生成一个 ujlreq-v.zvp 的文件,这个文件类似于pl文件,适合人类阅读,打开可以看到诸如:
(CHARSINTYPE D 1
U00AB U2018 U201C U3008 U300A U300C U300E U3010 U3014 U3016 U3018
U301D UFF08 UFF3B UFF5B UFF5F
)
(CHARSINTYPE D 2
U00BB U2019 U201D U3009 U300B U300D U300F U3011 U3015 U3017 U3019
U301F UFF09 UFF3D UFF5D UFF60
)
(CHARSINTYPE D 3
U203C U2047 U2048 U2049 UFF01 UFF1F
)
(CHARSINTYPE D 4
U30FB UFF1A UFF1B
)
(CHARSINTYPE D 5
U3002 UFF0E
)
(CHARSINTYPE D 6
U3001 UFF0C
)
(CHARSINTYPE D 7
U2014 U2025 U2026 U3033 U3034 U3035
)
(CHARSINTYPE D 8
U3005 U303B U3041 U3043 U3045 U3047 U3049 U3063 U3083 U3085 U3087
U308E U3095 U3096 U309D U309E U30A1 U30A3 U30A5 U30A7 U30A9 U30C3
U30E3 U30E5 U30E7 U30EE U30F5 U30F6 U30FC U30FD U30FE U31F0 U31F1
U31F2 U31F3 U31F4 U31F5 U31F6 U31F7 U31F8 U31F9 U31FA U31FB U31FC
U31FD U31FE U31FF
)
(CHARSINTYPE D 9
U00B0 U2030 U2032 U2033 U20AC U2103 U2113 U2116 U3303 U330D U3314
U3318 U3322 U3323 U3326 U3327 U332B U3336 U333B U3349 U334A U334D
U3351 U3357 U338E U338F U339C U339D U339E U33A1 U33C4 U33CB UFF03
UFF04 UFF05 UFFE0 UFFE1 UFFE5
)
(CHARSINTYPE D 10
U3000
)
(CHARSINTYPE D 11
U3042 U3044 U3046 U3048 U304A U304B U304C U304D U304E U304F U3050
U3051 U3052 U3053 U3054 U3055 U3056 U3057 U3058 U3059 U305A U305B
U305C U305D U305E U305F U3060 U3061 U3062 U3064 U3065 U3066 U3067
U3068 U3069 U306A U306B U306C U306D U306E U306F U3070 U3071 U3072
U3073 U3074 U3075 U3076 U3077 U3078 U3079 U307A U307B U307C U307D
U307E U307F U3080 U3081 U3082 U3084 U3086 U3088 U3089 U308A U308B
U308C U308D U308F U3090 U3091 U3092 U3093 U3094 U30A2 U30A4 U30A6
U30A8 U30AA U30AB U30AC U30AD U30AE U30AF U30B0 U30B1 U30B2 U30B3
U30B4 U30B5 U30B6 U30B7 U30B8 U30B9 U30BA U30BB U30BC U30BD U30BE
U30BF U30C0 U30C1 U30C2 U30C4 U30C5 U30C6 U30C7 U30C8 U30C9 U30CA
U30CB U30CC U30CD U30CE U30CF U30D0 U30D1 U30D2 U30D3 U30D4 U30D5
U30D6 U30D7 U30D8 U30D9 U30DA U30DB U30DC U30DD U30DE U30DF U30E0
U30E1 U30E2 U30E4 U30E6 U30E8 U30E9 U30EA U30EB U30EC U30ED U30EF
U30F0 U30F1 U30F2 U30F3 U30F4 U30F7 U30F8 U30F9 U30FA
)
(CHARSINTYPE D 12
U2010
)
(CHARSINTYPE D 13
U2013 U30A0
)
(CHARSINTYPE D 14
U301C
)
看起来比较迷惑,我们变一下形,看看是什么字符:
perl -C7 -nE 's/U/0x/g; s/(0x[^ |)]+)/chr($1)/g; say' chartype.txt | pbcopy
(CHARSINTYPE D 1
« ‘ “ 〈 《 「 『 【 〔 〖 〘
〝 ( [ { ⦅
)
(CHARSINTYPE D 2
» ’ ” 〉 》 」 』 】 〕 〗 〙
〟 ) ] } ⦆
)
(CHARSINTYPE D 3
⁇ ⁈ ! ?
)
(CHARSINTYPE D 4
・ : ;
)
(CHARSINTYPE D 5
。 .
)
(CHARSINTYPE D 6
、 ,
)
(CHARSINTYPE D 7
— ‥ … 〳 〴 〵
)
(CHARSINTYPE D 8
々 〻 ぁ ぃ ぅ ぇ ぉ っ ゃ ゅ ょ
ゎ ゕ ゖ ゝ ゞ ァ ィ ゥ ェ ォ ッ
ャ ュ ョ ヮ ヵ ヶ ー ヽ ヾ ㇰ ㇱ
ㇲ ㇳ ㇴ ㇵ ㇶ ㇷ ㇸ ㇹ ㇺ ㇻ ㇼ
ㇽ ㇾ ㇿ
)
(CHARSINTYPE D 9
° ‰ ′ ″ € ℃ ℓ № ㌃ ㌍ ㌔
㌘ ㌢ ㌣ ㌦ ㌧ ㌫ ㌶ ㌻ ㍉ ㍊ ㍍
㍑ ㍗ ㎎ ㎏ ㎜ ㎝ ㎞ ㎡ ㏄ ㏋ #
$ % ¢ £ ¥
)
(CHARSINTYPE D 10
)
(CHARSINTYPE D 11
あ い う え お か が き ぎ く ぐ
け げ こ ご さ ざ し じ す ず せ
ぜ そ ぞ た だ ち ぢ つ づ て で
と ど な に ぬ ね の は ば ぱ ひ
び ぴ ふ ぶ ぷ へ べ ぺ ほ ぼ ぽ
ま み む め も や ゆ よ ら り る
れ ろ わ ゐ ゑ を ん ゔ ア イ ウ
エ オ カ ガ キ ギ ク グ ケ ゲ コ
ゴ サ ザ シ ジ ス ズ セ ゼ ソ ゾ
タ ダ チ ヂ ツ ヅ テ デ ト ド ナ
ニ ヌ ネ ノ ハ バ パ ヒ ビ ピ フ
ブ プ ヘ ベ ペ ホ ボ ポ マ ミ ム
メ モ ヤ ユ ヨ ラ リ ル レ ロ ワ
ヰ ヱ ヲ ン ヴ ヷ ヸ ヹ ヺ
)
(CHARSINTYPE D 12
‐
)
(CHARSINTYPE D 13
– ゠
)
(CHARSINTYPE D 14
〜
)
分类大致就是:cjk标点符号 、 日文标点 以及 日文平假名。
把这些拎出来单独处理。
参考: