
これは、Donald KnuthのパンクフォントのOpenType実装です。
パンクは動的なフォントであり、グリフが要求されるたびにマタフォントがそれのユニークなインスタンスを描くことが要求されます。一方、Opentypeは静的です。グリフのアウトラインは一度描画され、フォントに保存され、レンダラーはそれらのアウトラインを変更することはできません。パンクの動的な性質をエミュレートするために、各グリフのいくつかの代替形状を生成し、それらをフォントに保存します。代替形状は、OpenTypeの「ランダム化」機能( rand )を使用してベース文字にマッピングされます。これは、レンダラーに、代替形状のリストからランダムにグリフを選択するように指示します。
2010年以来、Texの2°の記念日は、各小文字の文字が2°のバリアント、2件ごとに2〜、残りは2です。
残念ながら、ランダム化機能は広くサポートされていません(Harfbuzzはそれをサポートしています。ランダム化機能をサポートしていないアプリケーションでは、デフォルトの形状のみが表示されます。
元のメタフォントソースは、Taco Hoekwater et al。
グリフの追記の概要は、PythonスクリプトであるMetaPostによって生成され、その後、fontforgeを使用してGlyphsをOpentype CFFフォントにインポートしました。
このフォントは、Open Fontライセンス(OFL)の条件の下で配布されます。
メタポストソースには次の通知があります。
このファイルは、このコメントを追加したドナルドクヌースによる元のパンクファイルのマージです。
ジェラルドとマージャン・ウンガーの講義に触発されたフォント、1985年2月
通常のパンクファイルは、TexliveおよびMetafont形式の一部です。導入されたすべてのエラーは私たちのものです。また、エンコードをUnicodeに変更しました。やがて、さらにいくつかのキャラクターを追加することがあります。少しの試行錯誤を伴うメトリックのいくつかを改善する必要があります。フォントは基本的なラテン形状をカバーするだけですが、コンテキストMKIVでは、仮想構成形状を追加します。これを実装するモジュールM-Punk.Texがあります。この派生物は、lutexのテストの1つであるmk.tex(mk.pdf)でも使用されます。 Maps(NTG Magazine)で記事を公開しました。
2008年、Taco Hoekwater&Hans Hagen
Mapsの記事はオンラインで入手できます。