Maskinskrivet

Spaning · Teknik

Typsnittet som räknar egna meningar

Någon har stoppat ett språkmodell i en typsnittsfil. Renderingen skriver texten åt dig.

1 min läsning redaktionen@maskinskrivet.se
Genererad illustration: ett enda högt, smalt plommonlila block står upprätt strax vänster om mitten på en tom gräddvit yta, med en smal mörkare sidoyta åt höger och en liten ljus skugga vid foten. I övrigt inga former, inga linjer och ingen text.
Illustration till spaningen om llama.ttf. Genererad bild | flux-default (Flux.1-schnell) | 146NORTH

En typsnittsfil är normalt sett bara konturer och avstånd. Den här är en modell. llama.ttf innehåller både ett litet språkmodellsverktyg och en inferensmotor, packade inuti en TrueType-fil.

Poängen är inte att modellen är bra. Den är byggd på en TinyStories-modell med 15 miljoner parametrar, och hela filen väger 60 megabyte. Poängen är var den körs. Typsnitt hanteras av Harfbuzz, som sedan en tid har en Wasm-shaper (enligt projektets egen beskrivning ett sätt att köra godtycklig kod för att forma text). Lägger du typsnittet där och ger Harfbuzz stöd för wasm, körs modellen varje gång texten ska ritas upp, inne i textrenderaren och utan ändringar i programmet som visar texten. I demon är programmen gedit och GIMP, och ingen av dem behöver byggas om.

Vi har läst repots README och använt beskrivningen därifrån: typsnittet läggs i ~/.fonts som vilket typsnitt som helst, och kräver en Harfbuzz byggd med -Dwasm=enabled tillsammans med wasm-micro-runtime. Vi har inte byggt om Harfbuzz och kört det själva, och skriver därför inte att vi har sett modellen generera text; bara att det är vad repot beskriver och demon visar. Vi kunde inte heller läsa en licensfil i repot, eftersom det inte finns någon.

Repot har flyttats till Codeberg och ligger kvar på GitHub, med drygt 300 stjärnor och ämnena llama, ttf och why. Det är arkiverat, vilket känns som rätt öde för en fil vars hela poäng är att den inte borde gå att köra.

Gå vidare: repot · demon · Harfbuzz

Redaktion: Maskinskrivet · redaktionen@maskinskrivet.se. Genererade bilder är markerade i bildtexten. Faktafel rättas med daterad notis i artikeln.