[C#]Delen van TrueType font embedden (Bold 8pt Arial bijv.)

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Ciqniz
  • Registratie: Oktober 2002
  • Laatst online: 07-09-2023

Ciqniz

On the move...

Topicstarter
Ik kwam ineens op het rare idee om in databestanden voor gebruik in [whatever] applicatie (gewoon voor de hobby) ook lettertypes te embedden. Omdat de data vrij statisch is (wordt niet continue opnieuw naar geschreven) is het niet belangrijk om gehele fonts in de data op te nemen (bijv. een compleet .ttf bestand embedden om later ook andere groottes en dergelijke te kunnen gebruiken), sterker nog, het zorgt gewoon voor veels te veel overhead in de data.

Mijn idee dus om alleen een specifiek gedeelte van een font op te nemen: bijv. Arial, 8 punten groot en dan bold of Italic, of beide, je snapt wat ik bedoel. Ik dacht dat dit makkelijk te doen was, knip dit specifieke stukje er uit (naief..) en plak die data in een byte array en doe mijn ding...

Nou ben ik dus volledig nieuw in fonts en dergeljike, en wat ik nu begrijp over truetype is het geen simpel matrixtabelletje met wat pixelinfo over het font, maar onder andere een beschrijving bevat van paden van de glyphs die de pixels in een letter moeten volgen/vullen. Hier direct op/mee werken vind ik nou weer net iets te veel overhead qua code (althans, dat verwacht ik dan). En het lijkt mij ook dus niet mogelijk om alleen een stukje data er uit te knippen met mijn benodige font info omzo 500kb font bestand terug te brengen naar veel minder (dat is dan het idee dus).

Mijn vraag nu dus;
kan ik TrueType fonts intern, in .NET, zonder eigen moeilijke interpreters te bouwen oid, converteren naar een meer recht-toe-recht-aan formaat (keihard dus je font-style, voor mij part per letter een pixelmatrix ofzo) zodat ik alleen dat gedeelte maar hoef te embedden? Is dit uberhaupt mogelijk zonder externe (dan wel open-source, dan wel betaalde) library te gebruiken (want dat geloof ik op zich wel, echter, wil er liever zelf wat van leren natuurlijk).

Ik was in eerste instantie alleen maar bezig geweest met fonts vanuit een tekstbestandje (BASE64 gecodeerd) in het geheugen (byte array) in te laden om vervolgens aan een FontFamily class te hangen in .NET, en dat gaat verder wel prima. Het stuk wat daarvoor hoort te werken, het opslaan van het font (aldus, alleen een fontstyle), is wat moeilijker uit te vinden, via Google kom ik in principe alleen maar uit op complete fonts embedden in je applicatie resources en dergelijke. Ben helaas ook gewoon niet genoeg bekend met fonts en de bijbehorende termen om tot een goede zoekopdracht te komen.

Acties:
  • 0 Henk 'm!

  • MLM
  • Registratie: Juli 2004
  • Laatst online: 12-03-2023

MLM

aka Zolo

Teken de letters die je wilt uit in een image (de Drawing namespace heeft ergens support voor tekst). Sla de bitmap op zoals je wilt :)

-niks-


Acties:
  • 0 Henk 'm!

  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 04:26

GrimaceODespair

eens een tettenman, altijd ...

Volgens mij kost het je veel meer werk om een subset van TrueType of OpenType te maken, dan gewoon het Font te embedden en dynamisch in te laden. Dat is ook niet triviaal, maar volgens mij een stuk eenvoudiger.

En misschien heb je aan mijn eigen vraagstelling van een tijdje geleden ook nog wel wat.

Wij onderbreken deze thread voor reclame:
http://kalders.be