font
T1_SPEC.pdf p.25 の /FontMatrix [0.001 0 0 0.001 0 0] defは、文字空間の 1000 units をユーザー空間の 1em に移す変換行列だ、ということを言っていると思う。こうすれば文字空間で座標として整数値を使いながら柔軟にデザインできるでしょ?と。とりあ…
T1_SPEC.pdf p.11 を見ると /Encoding 256 array 0 1 255 {1 index exch /.notdef put } for dup 32 /space put % . . . % . . . repetitive assignments to Encoding array omitted % . . . dup 254 /bracerightbt put readonly defという内容の Encoding a…
T1_SPEC.pdf p.8 に Type 1 BuildChar begins by using the character code as an index into the Encoding array in the font dictionary to obtain the name of the character to be built. This step is explained in the PostScript Language Reference …
PostScript Type 1 フォントのサポート終了 そもそも後 1 年でフォーマットの消費期限が尽きてしまうという。
前回の記事のスクリプトは IV を飛ばして文字列にして出力すると、 for isEncrypted, chunk in chunks: if isEncrypted: decrypted_data, R = eexec.decrypt(chunk, 55665) print(decrypted_data[4:570].decode()) から dup /Private 14 dict dup begin /-| …
今時 Type 1 フォントなんて?という気もするんだけど、あり得ないほどごく稀に中身を見たいなんてこともあるかもしれない。T1_SPEC.pdf が聖典だと思うけど、これだけだとつらいので・・・手を動かして眺めていきたい。無難なフォントをということで GitHub…
Rustでパッケージ(クレート)インストールから使用するまでの軌跡 - Qiita を参考に fonttools-rs を使ってみたい。 $ cargo new ft_sample Created binary (application) `ft_sample` package でサンプルプロジェクトを作成。Cargo.toml を編集して ... [dep…
$ cd fonttools-rs $ cargo build Updating crates.io index Downloaded num-iter v0.1.42 Downloaded num-complex v0.4.0 --snip-- warning: `fonttools` (lib) generated 2 warnings Finished dev [unoptimized + debuginfo] target(s) in 12m 13s ・・・…
fonttools - Rust ちょっと気になるな。Install Rust - Rust Programming Language を読んで何も考えずに curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh を実行。 $ rustc --version rustc 1.57.0 (f1edd0429 2021-11-29) へー。で、 git…
よく分からないなりに Differentiable Vector Graphics Rasterization for Editing and Learning を読んでみた。普通には勾配計算で必要な微分可能生がないと思われているベクタ画像のラスタライゼーションという処理についてうまくやれば微分可能になります…
FULLWIDTH TILDE: % echo -n "~" | iconv -f UTF8 -t UTF-16BE | xxd -ps ff5e WAVE DASH: % echo -n "〜" | iconv -f UTF8 -t UTF-16BE | xxd -ps 301c って感じでなかなか見分けつかないんだけど、見分けつくフォント使ってると「ん?」となる。
OpenType Feature — your help is appreciated - Glyphs Forum うぉぉ・・・闇の深いトピックが・・・。ccmp で無茶をした時に InDesign がクラッシュしちゃったので、あんまり激しい実装はしたくない。まぁ、そもそも実装が変だったのかもしれないけど。ほ…
久しぶりに fontforge をビルドしたくなった (わけがない) ので、ビルドする。なんだか fontforge(2) - らんだむな記憶 の頃とは色々変わっている気はする・・・。fontforge/INSTALL.md at master · fontforge/fontforge · GitHub の通りと言えばそうなんだ…
ちょっとよく分からないけど、“tail recursion” で lookup を再起的に呼び出せるからとかいう闇の深そうが記述が幾らか見つかる・・・。https://litherum.blogspot.com/2019/03/addition-font.html とかよく読んだら分かるのかもしれないけど、うーん。使っ…
GitHub - schriftgestalt/GlyphsTracePlugin が手元の環境 (Big Sur + Glyphs 2.6.6 (1352)) でうまく動作しない。Trace Image Filter Does not work - Scripting - Glyphs Forum の現象の 1 つなのかもしれない。ので調べた。https://github.com/schriftges…
PNG to BMP3 using mogrify - ImageMagick より mogrify -format bmp -define bmp:format=bmp3 *.png とすると良い感じで .png -> .bmp ができるみたい。*1この後、potrace で svg にして*2、fontTools の svg2glif.py を使うと簡単に .glif にできる。例え…
https://github.com/freetype/freetype/blob/3cabd142ce42627a7e4410ce62616e5c4b91dc6e/src/sfnt/sfobjs.c#L1319-L1339 単純に OS/2.sTypoDescender がとられるわけではなかった・・・。 USE_TYPO_METRICS でない場合は hhea のほうがとられると・・・。 CJ…
GitHub - lxgw/LxgwWenKai: An open-source Chinese font derived from Fontworks' Klee One. 一款基于 FONTWORKS 的 Klee One 的开源中文字体。 An open-source Chinese font derived from Fontworks' Klee One. 鸣谢zi2zi_pytorch 日本語フォントがディー…
alpine-texlive-ja をそのまま使う形で日本語と韓国語を混ぜてコンパイルすると、 dvipdfmx:warning: No character mapping available. CMap name: UniJIS2004-UTF16-H input str: <ac> dvipdfmx:warning: No character mapping available. CMap name: UniJIS200</ac>…
AFDKO 3.5.1 から tx -t1 -g 422,425-500,629,7479-7554,8229-8263 -o font.pfa font.ufo みたいなことをした時に、へんてこなログが出てきて Type 1 ファイルが出てこない。ufr がログを出しているので、UFO の読み取りが何か変化してそうだが、履歴を見て…
fontforgeデバッグ(4) - らんだむな記憶 でレポートしたバグがちょうど数時間前に close された。5 年半とは随分と長い歳月だったなぁ〜。予想したよりも遥かに根の深いバグだったようで、正直読んでも分からない議論がなされている。たぶん GitHub Issues …
ufo2ft/postProcessor.py#L168-L191 に大いなるヒントがある。特に cff.charset = [rename_map.get(n, n) for n in cff.charset] がキーのようだ。これを確認しよう。このために参照する仕様書は 5176.CFF.pdf である。「13 Charsets」を見れば良い。Top DIC…
NaNGlyphFilters — Generative Fonts & Scripts — Home 凄いな〜、どうしてるんかなぁ〜って思ったら、普通に Glyphs plugin として頑張ってた・・・。ここまで来るとただただ凄いな・・・。Agenda | ATypI Tech Talks 2021 の「GAN and GAN'T」はサマリを見…
https://www.adobe.com/content/dam/cc/en/leaders/pdfs/geschke.pdf そうかそうか、81 歳か。PARC を飛び出て、Adobe を創設して世に PostScript を送り出した。この辺の話は AMW|雑誌・書籍検索 『Adobe:Innovation これまでの25年、これからの25年』 だ…
source-han-sans/Variable at release · adobe-fonts/source-han-sans · GitHub 遂に来たか!DTL OTMaster で昔は配布されていた「OTM_Light 3.7.0」で開くと CFF2 テーブルが見える。ただ、それ以上がさっぱり解析できないので、細かいところは fontTools …
中国と日本では、漢字の筆順が違うようですが、どうしてでしょうか?|漢字文化資料館 日本の学校教育での筆順は、文部省著作『筆順指導の手びき』(1958年)に従っているということは、Q0103でご説明しました。 そもそも筆順とは、より美しい字を書くための…
[1909.02072] Large-scale Tag-based Font Retrieval with Generative Feature Learning にて MyFonts ベースのデータセットが公開されている。6.2GB もあるのでなかなか巨大だな・・・。
FreeTypeで文字を書く(3) - らんだむな記憶の続き。 def save_image(gid): face = freetype.Face(font_path) face.set_char_size(224*64) W, H = 224, 224 Z = np.zeros( (H, W), dtype=np.ubyte ) face.load_glyph(gid) bitmap = face.glyph.bitmap x, y = …
FreeTypeで文字を書く(2) - らんだむな記憶以来まともに触ってないんだけど。 https://github.com/rougier/freetype-py/blob/v2.1.0/examples/agg-trick.py#L37とかの face.set_char_size( size * 64, 0, hres, 72 ) の 64 って何だよ?って話。 https://git…
https://twitter.com/ken_lunde/status/1264037362058706949 ふむ・・・。A Tale of Three (OpenType) Featuresにも書いてあるのか。CSS Writing Modes Level 3 sideways typesetting Typographic character units typeset as a run rotated 90° clockwise f…