ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 아랍어 합자
    TeX과 친구들 2026. 6. 30. 17:02

    f 두 자가 ff 한 자로 바뀌는 것을 합자라고 한다. ff가 유니코드에서 FB00에 할당되어 있다. 아랍어에서는 모든 글자들이 합자가 된다.  그것이 아랍어 텍스트가 지렁이가 똥 싸며 지나간 것처럼 보이는 이유이다. 각 글자가 세 가지 형태(glyph)를 갖고 있다. 단어의 처음에 올 때, 중간에 올 때, 끝에 올 때. 

    아래 이미지에서는 단어들이 제대로 합자되어 있는 반면, 위에서는 죄다 떨어져 있다. font-mappings.xml을 비롯하여 아랍어 폰트와 관련된 모든 설정들을 이리저리 바꾸어 보고, 심지어 Noto Sans Arabic 폰트를 새로 받아 시도했지만 AHF가 여전히 동일한 결과를 만들어내었다.

    그러다가 @letter-spacing이 떠올랐다. 그 값이 0이 아니라면 합자가 이루어질 수 없을 것이다.

    <xsl:attribute name="letter-spacing">-0.25pt</xsl:attribute>

    앞서 만들어진 다른 변환기를 참고하여 아래와 같이 고치니 비로소 올바른 결과가 만들어졌다.

    <xsl:attribute name="letter-spacing">
            <xsl:choose>
                    <xsl:when test="matches(substring-before($locale, '_'), 'ar|he')">0</xsl:when>
                    <xsl:otherwise>-0.05pt</xsl:otherwise>
            </xsl:choose>
    </xsl:attribute>

     

    'TeX과 친구들' 카테고리의 다른 글

    문제아 찾기  (0) 2026.06.17
    XSLT에 대하여  (0) 2025.12.18
    Python에서 immutable object와 mutable object  (0) 2025.09.23
    readhanja 루아텍 패키지  (0) 2025.09.01
    VS Code에서 한자 찾기  (0) 2025.08.29

    댓글

Designed by Tistory.