2013-08-30 2 views
2

나는 윈도우에서 리눅스로 이식하고있다.
복잡한 텍스트의 경우 Windows에서 라이브러리를 라이브러리에 저장하지 않습니다. 나는 리눅스에서 icu를 사용할 계획이다.
1. uniscribe : scriptItem 함수는 스크립트를 다른 script 또는 direction으로 여러 scriptitems로 나눕니다. icu에서 같은 기능입니까?
2. 누구든지 icu에서 복잡한 텍스트에 대한 내용을 알고 있습니까?icu 레이아웃 엔진을 통해 글리프 계산

감사 현

답변

3

나는 ICU는 주요 리눅스 사용자가 항상 LibreOffice와, 그리고 LibreOffice와 그냥 실제로는 그들이 보인다 레거시 코드 문제로 멀리 ICU (에서 해당 텍스트 엔진을 포팅을 완료, 좋은 선택이다 확실하지 않다 icu의 형식을 유지했지만 harfbuzz-ng 텍스트 셰이퍼의 다리 역할 만하고,이 브리지 모드가 범용 ICU 버전에서 사용 가능한지 또는 전혀 사용하지 않아도되는지 여부는 알 수 없습니다.

리눅스의 현재 정식 글꼴 스택은 fontconfig + freetype + freebidi + harfbuzz-ng입니다 (일부는 잊어 버렸을 수도 있습니다). 텍스트를 다루는 모든 커다란 리눅스 프로그램은 그것들을 한 형태로 사용합니다. 이것은 많은 구성 요소를 통합하기 때문에 글꼴 형식이 복잡 해짐에 따라 새로운 lib가 추가되기 때문에 더 높은 수준의 lib를 통해 일반적으로 액세스 할 수 있습니다. QT 앱의 경우 보통 Pango 인 다른 모든 사람들을위한 QT입니다 (기존의 이유로 icu와 같은 특별한 구성을 사용하는 Libreoffice와 같은 일부 앱 제외). 그리고 앱이 텍스트보다는 더 많이 그릴 필요가 있기 때문에 꽤 자주 pango 자체는 카이로를 통해 직접적으로 사용되지 않습니다.

따라서 나는 적어도 icu에 정착하기 전에 pango-cairo를 살펴볼 것을 권합니다. 그물에 더 많은 문서와 예제를 찾을 가능성이 더 큰 선택입니다. http://behdad.org/text/

PS를 : 텍스트 라이브러리의 통합을 시작했을 때 * nix에서 스크립트에서 텍스트 라이브러리의 주요 개발자의 http://x11.gp2x.de/personal/google/

http://cairographics.org/FAQ/#using_pango

https://developer.gnome.org/pango/unstable/pango-Cairo-Rendering.html
은 몇 년 전에 다음과 같은 요약을 썼다. pango와의 scriptItem에 상응하는 항목 화 될 것으로 보인다 :
https://developer.gnome.org/pango/unstable/pango-Text-Processing.html#pango-itemize

+0

은 LibreOffice와 어떤 ICU ↔에 HarfBuzz 다리를 사용하지, 그것은 한 번에에 HarfBuzz에 ICU 레이아웃 엔진에서 이식 된 . 그 노력은 그렇게 오래 걸리지 않았고, 그것은 4.1 릴리스에서 완전히 일어났습니다. 아무도 다른 곳을 고려하지 않았기 때문에 항구가 너무 지연되었습니다. –

+0

안녕하세요, Khaled, 물론 가장 잘 압니다. 나는 Fedora에 등장한 harfbuzz-ic 패키지에 속았습니다. 그게 무슨 용도로 쓰 였는지 알아? LibreOffice는 여전히 그것에 의존합니다. – nim

+0

HarfBuzz에는 유니 코드 문자 속성을 가져 오는 여러 백엔드가 있습니다. ICU, GLib 및 번들 된 UCDN 백엔드가 있습니다. LibreOffice는 이미 Unicode 처리에 ICU를 사용하기 때문에 ICU 백엔드를 사용하는 것이 당연합니다 (반대로 Pango는 GLib 백엔드를 선호합니다). ICU Layout Engine은 전체 ICU 라이브러리의 일부분이며, 더 이상 사용되지 않는 라이브러리입니다 (현재 공식적으로 사용되지 않으며 클라이언트는 HarfBuzz로 전환하도록 권장됩니다). –