pakutoma / Juglans

プログラミング用フォント Juglans
SIL Open Font License 1.1
6 stars 0 forks source link

絵文字対応(モノクロ・カラー) #15

Open pakutoma opened 3 years ago

pakutoma commented 3 years ago

TwemojiのOT-SVGとCOLR/CPALをどちらも埋め込めばほぼ全てのソフトウェアで動くようになる気がする(気がするだけ) OT-SVG: https://github.com/eosrei/twemoji-color-font COLR/CPAL: https://github.com/mozilla/twemoji-colr

pakutoma commented 3 years ago

Q. なぜ実装するか? A. プログラミングにおいて絵文字は頻繁に出現する(例:GitHubのcommitメッセージ)ようになっており,それを表示するフォントにも必要. A2. Segoe UI Emojiが等幅じゃないから A3. どうせならカラー絵文字が表示できたほうが面白いから

pakutoma commented 3 years ago

twemojiのモノクロ絵文字は自動生成で,あまり品質が良くない.Noto Emojiのモノクロ絵文字を先に利用して,存在しないものだけtwemojiにフォールバックするのが良いな気がする. モノクロとカラーで絵文字のデザインが違うことに関しては気にしないこととする.私はtwemojiが好きなので.

pakutoma commented 3 years ago

メモ:Emoji Presentation Sequencesにも対応する必要がある

pakutoma commented 1 year ago

時は移ろい、だんだんNoto Emojiのほうが好きになってきました Noto Emojiのほうが良いかも。

pakutoma commented 1 year ago

時は移ろい、最強ツールが誕生していたのでこれを使おうと思います https://github.com/googlefonts/nanoemoji

pakutoma commented 1 year ago

https://github.com/googlefonts/noto-emoji の生成スクリプトの中でnanoemojiを使っているので、生成時の指定でOT-SVGとCOLRv1を両方指定すればいい感じの絵文字が作れるかもしれない。 ただし、FontForgeがカラー絵文字に対応していないので、フォントの変形・合成をどうするかが問題になる。fonttoolsを使う? また、生成時に縦横1000に出来れば一番合成しやすそうなので、その方法も探ってみる。

pakutoma commented 1 year ago

fonttoolsもCOLRv1に対応していないらしい。実装するしかない?

pakutoma commented 1 year ago

fonttoolsはOpenType-SVGには対応しているので、OpenType-SVGを含んだフォントを作成してnanoemojiでCOLRv1の絵文字を追加するのはありかもしれない。ただし、nanoemojiが絵文字以外を含んだフォントで絵文字を追加出来るのかは不明。

pakutoma commented 1 year ago

COLRテーブルはglyfテーブルの字形を基準に色を乗せる仕組みらしいので、fontforgeで変形しても問題なく動くのかもしれない?という感じになっています

CMAPテーブルのFormat 14(異体字セレクタ)に対応するのも忘れずにやらないといけない

pakutoma commented 1 year ago

OT-SVGをfonttools mergeでマージしようとしてもエラーを吐いた。異体字セレクタなどの件もあるし、現時点でまともにカラー絵文字を自動的に処理するツールはないと思ったほうが良さそう。 google fontsで配布されるNoto Color Emojiがもう既にOpenType SVGとCOLRv1で出来ているので、これを使ってfonttoolsのTTFontクラスで愚直にテーブルをいじって合成するしかなさそう。

fonttoolsだけを使って全てのフォントを合成することも模索したい。