ConTeXt의 유니코드 정규화 및 히브리어

ConTeXt의 유니코드 정규화 및 히브리어

나는 ConTeXt를 사용하여 포인팅(예: 모음, 신 및 신 도트, 다게시 등)을 포함하는 히브리어 문서를 조판하고 있습니다. 조판하려는 히브리어 텍스트가 유니코드의 NFC 표준 형식으로 표준화되었습니다. 히브리어 포인트의 유니코드 표준 순서가 해당 기능을 기반으로 특정 포인트의 권장 마크 순서와 충돌한다는 것은 잘 알려져 있습니다.https://www.sbl-site.org/Fonts/SBLHebrewUserManual1.5x.pdf이 주제에 대한 자세한 내용을 보려면) 다행히도 많은 조판 엔진은 포인트가 여러 글꼴의 사양에 따라 결합되도록 자동으로 포인트 순서를 변경합니다. 저는 XeLaTeX가 히브리어 텍스트가 NFC 형식일 때에도 여러 점으로 히브리어 문자를 올바르게 조판하기 때문에 이들 중 하나라고 확신합니다.

내 질문은 LuaTeX를 사용하는 ConTeXt가 동일한 상황을 올바르게 처리할 수 있느냐는 것입니다. 다음 최소 예에서 ConTeXt 서체는 문자가 권장되는 인쇄 순서일 때 히브리어를 올바르게 가리키지만 유니코드 표준 순서일 때는 그렇지 않습니다.

%Setup Hebrew text font:
\definefontfeature[f:pointedhebrew][default][
    ccmp=yes,
    mark=yes,
    script=hebr
]
\definefontfamily[hebrew] [rm] [SBL Hebrew] [features=f:pointedhebrew]
%Set the body font:
\setupbodyfont[hebrew]
%Set up right-to-left alignment:
\setupalign[r2l]
\starttext
    %Characters after normalization, in Unicode canonical order (bet + segol + dagesh + final nun):
    בֶּן

    %A word with characters in typographically recommended order (bet + dagesh + segol + final nun):
    בֶּן
\stoptext

나는 TeXLive 2020과 함께 출시된 ConTeXt 버전 2020.03.10을 사용하여 이것을 조판했습니다. SBL 히브리어 글꼴은 다음에서 얻었습니다.https://www.sbl-site.org/educational/BiblicalFonts_SBLHebrew.aspx. 글꼴 사용자 설명서(MWE 위의 링크 참조)에 따르면 글꼴은 자음 뒤의 순서에 관계없이 표시를 결합하여 올바른 글리프를 형성할 수 있어야 하지만 여기서는 그렇지 않은 것 같습니다.

이 문제를 해결하기 위해 호출 에서 활성화해야 하는 OpenType 기능이 있습니까 \definefontfeature? 아니면 ConTeXt가 XeLaTeX처럼 권장 방식으로 주문된 것처럼 유니코드 정규화된 히브리어를 조판하도록 포함할 수 있는 모듈이나 옵션이 있습니까? unnormalize 모듈이XeLaTeX, LuaLaTeX, 글꼴 사양, 유니코드 및 정규화; ConTeXt와 함께 사용할 수 있나요?

답변1

나는 ConTeXt 메일링 리스트에 이 질문을 올렸습니다.https://www.mail-archive.com/[이메일 보호됨]/) 그리고 거기에서 ConTeXt에는 대부분의 히브리어 글꼴에 구현된 대체 규칙에 가장 잘 작동하는 방식으로 히브리어 포인트를 재정렬하기 위해 구현된 메커니즘이 없다는 것을 알게 되었습니다. Hans Hagen은 며칠에 걸쳐 기꺼이 도움을 주었고 표준 hebrew기능 세트에 재정렬 메커니즘을 추가했습니다. 이제 내 질문의 MWE는 글꼴 선언이 \definefontfamily[hebrew] [rm] [SBL Hebrew] [features=hebrew].

이 기능은 최신 버전의 ConTeXt(http://www.pragma-ade.com/download-1.htm).

관련 정보