upTeX 标点分类,说说chartype

2021-03-20  本文已影响0人  千羽之城88

软件

正文

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标点符号日文标点 以及 日文平假名

把这些拎出来单独处理。

参考:

  1. https://asciidwango.github.io/ptex/pl/charsintype.html
上一篇下一篇

猜你喜欢

热点阅读