Recent

Author Topic: [LazFreeType] How to read information from a font file?  (Read 8361 times)

felipemdc

  • Administrator
  • Hero Member
  • *
  • Posts: 3541
[LazFreeType] How to read information from a font file?
« on: March 06, 2012, 01:11:09 pm »
It would be great to have an example on that, thanks
« Last Edit: March 06, 2012, 01:48:10 pm by felipemdc »

zeljko

  • Hero Member
  • *****
  • Posts: 1054
    • http://wiki.lazarus.freepascal.org/User:Zeljan
Re: [LazFreeType] How to read information from a font file?
« Reply #1 on: March 10, 2012, 02:22:41 pm »
I guess that such code exists in fontconfig source.

felipemdc

  • Administrator
  • Hero Member
  • *
  • Posts: 3541
Re: [LazFreeType] How to read information from a font file?
« Reply #2 on: March 11, 2012, 09:56:01 am »
But LCL-CustomDrawn uses non-native text in multiple operating systems where fontconfig does not exist (Windows, Mac OS X, Android). I was hoping that circular would know the answer.

felipemdc

  • Administrator
  • Hero Member
  • *
  • Posts: 3541
Re: [LazFreeType] How to read information from a font file?
« Reply #3 on: March 11, 2012, 11:24:42 am »
Ok, so I will answer my own question. Guiliano Colla found out how to do this and he sent me a patch, and here it is:

http://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/lcl/interfaces/customdrawn/customdrawnproc.pas?root=lazarus&r1=35879&r2=35878&pathrev=35879

I think that the most important part is:

TT_Get_Name_String(AFace,J,NameString,NameLen);

Which is part of LazFreeType. But in general the entire routine there is a nice example of how to extract font information with LazFreeType

zeljko

  • Hero Member
  • *****
  • Posts: 1054
    • http://wiki.lazarus.freepascal.org/User:Zeljan
Re: [LazFreeType] How to read information from a font file?
« Reply #4 on: March 11, 2012, 04:17:25 pm »
I didn't mean that you'll use fontconfig, but to see in source how it is extracted.

circular

  • Hero Member
  • *****
  • Posts: 2971
    • Personal webpage
Re: [LazFreeType] How to read information from a font file?
« Reply #5 on: March 23, 2012, 05:13:10 pm »
There are now properties Ascent, Descent, LineSpacing and FullLineHeight in TFreeTypeFont.

About the name, apparently, it can be in many languages. Maybe we can use English name only for now.
Conscience is the debugger of the mind

circular

  • Hero Member
  • *****
  • Posts: 2971
    • Personal webpage
Re: [LazFreeType] How to read information from a font file?
« Reply #6 on: March 24, 2012, 08:27:47 pm »
I've found how to get names. Soon I will put here a test program that reads a directory of fonts.
Conscience is the debugger of the mind

circular

  • Hero Member
  • *****
  • Posts: 2971
    • Personal webpage
Re: [LazFreeType] How to read information from a font file?
« Reply #7 on: March 24, 2012, 08:40:30 pm »
Here is a test program that allows to explore a directory of fonts. This mechanism will be directly included in LazFreeType later.

Note : you need to use the second patch of LazFreeType.
Conscience is the debugger of the mind

circular

  • Hero Member
  • *****
  • Posts: 2971
    • Personal webpage
Re: [LazFreeType] How to read information from a font file?
« Reply #8 on: April 12, 2012, 04:19:56 pm »
Here is an updated version.
Conscience is the debugger of the mind