初歩のシェルスクリプトで遊ぶ[ぬかみそフォントの制作サポート(10)]
sortもuniqも効かない文字はけっこうあるような
$ cat 丸数字やローマ数字.txt ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ¬¦'"ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ¬¦'" ①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳㉑㉒㉓㉔㉕㉖㉗㉘㉙㉚ ①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳㉑㉒㉓㉔㉕㉖㉗㉘㉙㉚ ①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳㉑㉒㉓㉔㉕㉖㉗㉘㉙㉚ $ cat 丸数字やローマ数字.txt |grep -o . |uniq ⅰ
grepして一文字を一行の列にする、まではいけます。でもsortとuniqが、なんかうまくいかないっぽい。
日本語文章でよく使う、可読文字だけ、と限定しても、文字をそのまんま処理するのは難しいっすな。いったん数字に変えるのは必須、か。
フォントの集まり、JIS第一水準とか人名漢字とか。こういうのと自作フォントの作成済み文字とを比較管理したくて、ちょこちょこやってます。
こう、あれだ。テキストデータをスクリプトに突っ込むと、使われてる文字を集計して、資料にまとめて、比較できるようにしたいわけっすよ。
ちょっと作ってみてはいるものの、ネタにしても微妙な気はしてる。表計算ソフトにでも入れるべきで、シェルスクリプトはその、前段階だけで止めといたほうがいいのかなぁ、っつう気はしてるんだけど。
文字を書き込んだテキストファイルを突っ込めば、そのままLibreOfficeのCalcにコピペで貼り付けられるデータにできる、っつうくらいなら出来てるけど、これならまぁ、実用?
初歩のシェルスクリプトで遊ぶ[ぬかみそフォントの制作サポート(9)]
VSつきの文字を抜き出す
$ cat ivstest.txt
ななかまど
辻󠄀
辻󠄀辻味噌󠄀味噌
$ cat ivstest.txt |./ttedit_20210327_02.sh --html
ななかまど
辻󠄀
辻󠄀辻味噌󠄀味噌
という感じに、異体字セレクタつきのテキストデータを入れると、異体字セレクタだけをHTMLの数値参照に変換したり、異体字セレクタつきの文字だけ抜き出したり、異体字セレクタつきの文字だけ反転表示したり、とできます。
不満の残るスクリプトだけれど、とりあえず無いよりはマシです。
TTEdit/OTEditがデフォルトで作るフォントは、今まで異体字セレクタは使えなかったはず、なんだけれども。OTEditの新しい、文字数の多いやつだと、IVSが使えるみたい。そのへんを扱うための、道具作りです。
初歩のシェルスクリプトで遊ばない[ぬかみそフォントの制作サポート(8)]
縦書き文字が無いが、まるで縦書き文字のようにコピーされる場合
(7)のつづき。
初歩のシェルスクリプトで遊ぶ[ぬかみそフォントの制作サポート(6)]
複数のUnicodeがひとつのCIDを指すとき
TTEditのTrueTypeフォントを、OTEditでOpenTypeフォントに変換するとき、殆どの文字は、ひとつのunicodeの文字が、ひとつのCIDにコピーされます。一対一になってる。
a → a b → b c → c
ところが、複数のunicode文字が、一つのCID文字にコピーされる文字も、そこそこある。
a → a b → a c → a
ここまでおかしなのは無いですが、例として。「a」「b」「c」のunicodeのグリフが、もし「a」のCIDにコピーされるとしたら。aはaにコピーされ、次にbもaに上書きコピーされ、さらにcもaに上書きコピーされる。結果、「a」に「c」のグリフがコピーされてしまう、「a」「b」が消えてしまう、ということです。