zoukankan      html  css  js  c++  java
  • mac编译freetype备忘

    首先编译FreeType库

    在源代码的docs中有一个INSTALL.ANY文件,用文本编辑器打开。我摘录了这几行:

    * DO NOT COMPILE ALL C FILES! Rather, compile the following ones.

    -- base components (required)

    src/base/ftsystem.c

    src/base/ftinit.c

    src/base/ftdebug.c

    src/base/ftbase.c

    src/base/ftbbox.c -- recommended, see <freetype/ftbbox.h>

    src/base/ftglyph.c -- recommended, see <freetype/ftglyph.h>

    src/base/ftbdf.c -- optional, see <freetype/ftbdf.h>

    src/base/ftbitmap.c -- optional, see <freetype/ftbitmap.h>

    src/base/ftcid.c -- optional, see <freetype/ftcid.h>

    src/base/ftfstype.c -- optional

    src/base/ftgasp.c -- optional, see <freetype/ftgasp.h>

    src/base/ftgxval.c -- optional, see <freetype/ftgxval.h>

    src/base/ftlcdfil.c -- optional, see <freetype/ftlcdfil.h>

    src/base/ftmm.c -- optional, see <freetype/ftmm.h>

    src/base/ftotval.c -- optional, see <freetype/ftotval.h>

    src/base/ftpatent.c -- optional

    src/base/ftpfr.c -- optional, see <freetype/ftpfr.h>

    src/base/ftstroke.c -- optional, see <freetype/ftstroke.h>

    src/base/ftsynth.c -- optional, see <freetype/ftsynth.h>

    src/base/fttype1.c -- optional, see <freetype/t1tables.h>

    src/base/ftwinfnt.c -- optional, see <freetype/ftwinfnt.h>

    src/base/ftxf86.c -- optional, see <freetype/ftxf86.h>

    src/base/ftmac.c -- only on the Macintosh

    -- font drivers (optional; at least one is needed)

    src/bdf/bdf.c -- BDF font driver

    src/cff/cff.c -- CFF/OpenType font driver

    src/cid/type1cid.c -- Type 1 CID-keyed font driver

    src/pcf/pcf.c -- PCF font driver

    src/pfr/pfr.c -- PFR/TrueDoc font driver

    src/sfnt/sfnt.c -- SFNT files support

    (TrueType & OpenType)

    src/truetype/truetype.c -- TrueType font driver

    src/type1/type1.c -- Type 1 font driver

    src/type42/type42.c -- Type 42 font driver

    src/winfonts/winfnt.c -- Windows FONT / FNT font driver

    -- rasterizers (optional; at least one is needed for vector

    formats)

    src/raster/raster.c -- monochrome rasterizer

    src/smooth/smooth.c -- anti-aliasing rasterizer

    -- auxiliary modules (optional)

    src/autofit/autofit.c -- auto hinting module

    src/cache/ftcache.c -- cache sub-system (in beta)

    src/gzip/ftgzip.c -- support for compressed fonts (.gz)

    src/lzw/ftlzw.c -- support for compressed fonts (.Z)

    src/gxvalid/gxvalid.c -- TrueTypeGX/AAT table validation

    src/otvalid/otvalid.c -- OpenType table validation

    src/psaux/psaux.c -- PostScript Type 1 parsing

    src/pshinter/pshinter.c -- PS hinting module

    src/psnames/psnames.c -- PostScript glyph names support

    Notes:

    `ftcache.c' needs `ftglyph.c'

    `ftfstype.c' needs `fttype1.c'

    `ftglyph.c' needs `ftbitmap.c'

    `ftstroke.c' needs `ftglyph.c'

    `ftsynth.c' needs `ftbitmap.c'

    `cff.c' needs `sfnt.c', `pshinter.c', and `psnames.c'

    `truetype.c' needs `sfnt.c' and `psnames.c'

    `type1.c' needs `psaux.c' `pshinter.c', and `psnames.c'

    `type1cid.c' needs `psaux.c', `pshinter.c', and `psnames.c'

    `type42.c' needs `truetype.c'

    这里的意思是,有些c文件不须编译因为它们被包括到其他c文件中了。

    新建一个xcode static library 工程, 如图:

     

    把源代码中的include和src拷贝到xcode工程下,如图:

     

    然后添加到管理器。

    注意这里要删去部分源代码文件,就是INSTALL.ANY中没有提到的那些,但注意是delete references不是move to trash!那个ftmac.c最好也删去,我们不需要管它和mac的关系。

     

    src/base/中删除的文件:

    basepic.c
    basepic.h
    ftadvanc.c
    ftapi.c
    ftbase.h
    ftcalc.c
    ftbdgmem.c
    ftgloadr.c
    ftmac.c
    ftobjs.c
    ftoutln.c
    ftpic.c
    ftrfork.c
    ftsnames.c
    ftstream.c
    fttrigon.c
    ftutil.c

     

  • 相关阅读:
    PHP5中__call、__get、__set、__clone、__sleep、__wakeup的用法
    MyISAM InnoDB 区别
    Mozilla推荐的CSS书写顺序
    转:Javascript异步编程的4种方法
    从一个实例,看new FunctionName()的内部机制
    矩阵转置 O(1)空间
    不要将 Array、Object 等类型指定给 prototype
    javascript线程解释(setTimeout,setInterval你不知道的事)
    JS 中没有按地址(引用)传递,只有按值传递
    输入一个无符号整数,用最少的步骤将该数变为1
  • 原文地址:https://www.cnblogs.com/CodeKnight/p/2455843.html
Copyright © 2011-2022 走看看