freetype-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ft-devel] FreeType2 API popularity investigation


From: suzuki toshiya
Subject: Re: [ft-devel] FreeType2 API popularity investigation
Date: Wed, 05 Sep 2012 04:13:03 +0900
User-agent: Mozilla-Thunderbird 2.0.0.12 (X11/20080406)

Sorry for posting without summary, it's unfinished yet.
My first impressions are:

* Many applications make a FT_Library object, and
open some FT_Face objects, but do not handle the glyph
images by themselves. It seems that they passes the
FT_Face objects to other libraries to render something.

* usage of FT_Get_Sfnt_Table() is not negligible.

Checking the source of the applications using it,
it seems that it is used to obtain OS/2 table info.
CFR emulation should support the virtual OS/2 table.

* usage of FT_Load_Sfnt_Table() is not negligible either,
but I don't think so many applications must look into
the detail of the font table. Now I'm checking how the
applications are using it.

Regards,
mpsuzuki


Behdad Esfahbod wrote:
> Suzuki-san,
> 
> Care to summarize your findings?
> 
> Thanks,
> behdad
> 
> On 09/04/2012 06:11 AM, suzuki toshiya wrote:
>> Hi,
>>
>> Just I did a preliminary investigation of FreeType2 API popularity.
>> What I did was following:
>>
>> 1) Get the catalogs of the binary packages of Linux distributions.
>>
>> Debian: mirror site's 
>> dists/{unstable,stable,testing}/{main,contrib,non-free}/binary-i386/Packages.bz2
>> Fedora: mirror site's 
>> linux/releases/[0-9][0-9]/Fedora/i386/os/repodata/XXX-primary.xml.gz
>>
>> In my case, Debian sid and FedoraCore 17 were checked.
>>
>> 2) Get the binary packages that the catalog shows the direct
>> dependency from the binary package to libfreetype.so.6.
>>
>> Parsing the catalog files are done by attached Ruby scripts
>> (parseAptPackages.rb for Debian, parseYumPrimary.rb for Fedora)
>>
>> 3) Extract the package content and execute "nm" on the binary
>> executable, shared object, and archive files. Then pick the
>> symbols looking like FreeType2. Scanning is done by attached
>> shell scripts (mkDebListUsingFT.sh for .deb package,
>> mkRpmListUsingFT.sh for .rpm package).
>>
>> 4) Result
>> Also I attached the list of package (pkglist), the list of
>> APIs used by the packages (per-package counting) (usedfunc),
>> and the frequency list (freqlist). The unit of the frequency is
>> the number of the package (how many package uses the function),
>> not the number of the reference (how many times the function
>> is referred).
>>
>> --
>>
>> One of the interesting point is that the frequencies of
>> FT_Init_FreeType() and FT_Done_FreeType() are different.
>> I guess that some applications allocate FT_Library object
>> but finishes without freeing it.
>>
>> Regards,
>> mpsuzuki
>>
>> Werner LEMBERG wrote:
>>>>  I think FreeType3 should have some distinction of APIs between the
>>>> APIs bound to real single font file, and APIs not bound to.  Maybe I
>>>> should investigate the existing software and make a list of referred
>>>> APIs and their popularity.
>>> Please do so!
>>>
>>>
>>>     Werner
>>
>>
>> _______________________________________________
>> Freetype-devel mailing list
>> address@hidden
>> https://lists.nongnu.org/mailman/listinfo/freetype-devel




reply via email to

[Prev in Thread] Current Thread [Next in Thread]