如何编译的Freetype(2)的HarfBuzz(与Visual Studio),使他们一起工作?

2019-09-27 15:47发布

我已经找到了很好的单证上编制的Freetype相关的HarfBuzz这个已知的问题: http://www.gregwessels.com/dev/2017/05/02/freetype-harfbuzz.html这里44184890

但他们似乎时下obsolet:FreeType的-2.9用的HarfBuzz-1.7.6

这里是我的方式编译:

  • 下载Freetype的压缩包
  • 解压压缩包...
  • 建立开放\ WINDOWS \ VC2010 \ freetype.sln
  • 它必须已经生成以及(如DLL)
  • 下载的HarfBuzz
  • 提取旁边FreeType的压缩包...
  • 运行cmake ./在根级以获得.sln
  • 它必须已经生成以及(如LIB)

在这一点上,你有2个独立的库不在一起工作,这意味着:

Freetype的不会打开您的字体GSUB脚本。 (也许我是错的)

要做到这一点,我需要帮助! 我还需要确认!

是似乎有需要,使在编译时FreeType中使用的HarfBuzz的; 我发现称为预编译器指令FT_CONFIG_OPTION_USE_HARFBUZZ

但启动时,我使用的第三个项目都库时,一些编译链接错误:

autofit.obj : error LNK2019: external symbol not found _hb_ft_font_create referenced in function _af_face_globals_new

好知道, hb_ft_font_create是的HarfBuzz的外部函数。

因此,它似乎是一个循环的extern问题...我肯定没有在一个点上的好配置,但我有许多浏览文档和帮助,没有发现任何...

- 编辑 - 既pojects解压后,你必须normaly获得这样的树:

.
├── freetype-2.9
│   ├── autogen.sh
│   ├── builds
│   │   ├── ...
│   │   └── windows
│   │       └── vc2010    <<<< The .sln to use is in here
│   ├── CMakeLists.txt    <<<< It is also good to obtain proper sln
│   ├── configure
│   ├── devel
│   │   ├── ft2build.h
│   │   └── ftoption.h
│   ├── include
│   │   ├── freetype
│   │   └── ft2build.h
│   ├── ...
│   ├── objs
│   │   ├── freetype.dll
│   │   ├── freetype.lib
│   │   ├── README
│   │   └── Win32
│   ├── README
│   ├── README.git
│   └── src
└── harfbuzz-1.7.6
    ├── ...
    ├── cmake_install.cmake
    ├── CMakeLists.txt   <<<< The cmake project to obtain proper sln is this one
    ├── compile
    ├── ...
    ├── COPYING
    ├── CTestTestfile.cmake
    ├── Debug
    │   ├── harfbuzz.lib
    │   ├── harfbuzz-subset.lib
    │   └── ...
    ├── depcomp
    ├── docs
    ├── gtk-doc.make
    ├── harfbuzz.sln
    ├── harfbuzz.vcxproj
    ├── ...
    ├── main.dir
    │   └── Debug
    ├── NEWS
    ├── README
    ├── README.python
    ├── RELEASING.md
    ├── replace-enum-strings.cmake
    ├── RUN_TESTS.vcxproj
    ├── RUN_TESTS.vcxproj.filters
    ├── src
    │   ├── *.hh
    │   └── *.cc
    ├── test
    ├── THANKS
    ├── TODO
    ├── util
    └── Win32
        └── Debug

Answer 1:

只需使用https://github.com/Microsoft/vcpkg/同时安装和不回头:)双方的HarfBuzz和Freetype的有一个端口有和很好的支持。

关于循环依赖,对FreeType的依赖的HarfBuzz不是必须认为有。 vcpkg处理的HarfBuzz到FreeType的依赖,这就是大多数项目都需要。



Answer 2:

或配置的HarfBuzz像--with-freetype=no --with-fontconfig=no避免循环DEPS ......我是这么认为的反正...



文章来源: How to compile Freetype (2) and Harfbuzz (with visual studio) to make them work together?