FAQというよりは設計面・思想面での情報が多いです。
現在はFra9mentによる執筆のみで、内容が偏っている可能性が高いです。
また、開発の進行によっては内容が正しくない場合もあります。
※文章全体(上文を含む)は削除・編集してもらって結構です。
これには以下の理由があります。
- 依存を最低限に抑える
動作を以前よりもシンプルなものに変えた結果、シェルスクリプトでも十分に動作することが可能になりました。
過去のスクリプトを保持する選択もありましたが、以下の理由から移行しました。
- Python 3 という依存が減らせる
SVG(Scalable Vector Graphics)はPNG(Portable Network Graphics)と同様にW3Cによるファイルフォーマットです。
テキストエディタで開いてもらうと一目瞭然、実は XML 派生のフォーマット
残念ながらISOやIETFでの国際標準ではありませんが、W3C勧告のweb標準です。
表示には一般的なwebブラウザがあれば十分です。
以下のような理由が挙げられます
- SVGは中身がXMLなので最小の依存関係で簡単に扱える
- ベクトル画像なので表示・印刷が非常に高い品質で行なえる
- サイズの指定ができる
以下の利点があります。
- SVGはXML形式なので最悪でもテキストが扱えればどの言語でも行える
- 他の形式のように依存関係が生じることは少ない
- ベクトル画像なので拡大してもジャギーが生じることがない
- プロフィール画像部等の例外はあります。
- デザイナーがフォント・改変部分を指定できるので意匠を反映しやすい
確かにパスに変換するとフォントの依存を無くせる利点があります。 しかし、文字の形式を維持することには以下のような理由があります。
- フォントをパスにしないことで少ない依存でプログラムからの扱いを簡単にする
- フォント変換部を書かないことでコードをシンプルに保つ
- パスに変換しないことでライセンスの干渉を避ける目的
- プロプライエタリなフォント由来のパスがリポジトリに入っていると訴訟を含む問題に発展する可能性があります。