2017-01-20 9 views
2

카이로는 FontConfig에 종속됩니다. FontConfig는 Freetype에 의존합니다. 나는 FreeType을 만들었지 만 FreeType이 HarfBuzz를 필요로하기 때문에 FontConfig를 만들려고 할 때 링크 오류가 발생합니다.카이로/하버부즈는 어떻게 구축합니까?

Harfbuzz를 만들려고하면 FreeType에 종속됩니다. 따라서 순환 종속성이 있습니다. 이 시점에서 makefile은 깨졌습니다. 테스트 빌드를 시도 할 때 Harbuzz 자체의 심볼이 필요하기 때문에 링크하지 못합니다. 이것은 링크 라인에서 HarfBuzz를 두 번 사용하면 해결할 수 있습니다. 또는 내가 한 모든 테스트를 제거합니다. 그래서 그 문제를 해결했습니다.

Harfbuzz에는 "helper-cairo.cc"라는 파일이 있습니다. 컴파일을 시도 할 때 mising FontConfig 헤더 파일에 대해 불평을하기 때문에 FontConfig에 대한 의존성이 분명합니다. 그러나 HarfBuzz를 처음 빌드하지 않고 FontConfig를 빌드 할 수는 없습니다!

이 종속성을 해결하는 방법을 모르겠습니다. 어쩌면 HarifBuzz를 빌드 할 때 카이로 도우미를 사용하지 않도록 설정하고 결과 라이브러리를 사용하여 FontConfig를 만든 다음 HarfBuzz를 결과 FontConfig로 다시 작성한 다음 FontConfig를 다시 빌드 할 수 있습니까? 모두 큰 불편을 느끼는 것 같습니다.

MinGW로 빌드 중이며 Windows DLL은 미해결 기호가 마음에 들지 않으므로 공유 라이브러리로이를 해결할 수 있다고 생각하지 않습니다. 나는 fontconfig 라이브러리를 링크 할 때 나는에 HarfBuzz 필요한 이유를 정말 확실하지 않다? - 어쩌면 DLL :(

모든 아이디어를 어떻게가 중요한 기능을 잃지 않고이 문제를 해결하기 위해 구축을 위해 노력한다 또한 FreeType에서 사이의 순환 종속성이

답변

1

과에 HarfBuzz는 fontconfig와 Cario 만에 HarfBuzz에 내장 된 테스트 및 도구에 대한 필요하며, 따라서 그들을 구성하는 것이 안전 표시

참고 :. 사용하는 Freetype 빌드)

1 :

를 561,914,533,210

2) 사용에 HarfBuzz 빌드 :

./configure --prefix=${PREFIX} --host=x86_64-w64-mingw32 --with-fontconfig=no --with-cairo=no --with-sysroot=/usr/x86_64-w64-mingw32 

3)를 사용하는 Freetype 빌드 :

./configure --prefix=${PREFIX} --host=x86_64-w64-mingw32 --with-sysroot=/usr/x86_64-w64-mingw32 --with-harfbuzz=yes 

4)는 fontconfig 빌드.

5) 빌드 카이로.

아직 테스트하지는 않았지만 제대로 작동해야합니다.

0

나는 최근 harfbuzz 시나리오에 들어갔다. 나는 몇 가지 기본적인 harfbuzz 예제를 작성하고 수집했다. 스크립트는 freetype2, harfbuzz 및 cairo에 의존한다. 여기는 link입니다. 실행하려면 python3 파일 이름을 입력하십시오.