이런 경우의 해결책이 될 수 있는 Unicode 추가 사항을 제안하기 위해 Unicode 메일링 리스트에 가입했습니다. 제가 받은 답변 중 하나는 다음과 같습니다:
(나:) 문제는 이 치환이 (제가 아는 한) 어떤 렌더링 컨텍스트 밖에서, 텍스트가 단순히 문자 코드 시퀀스인 상태에서 수행된다는 것입니다. 텍스트가 어떤 방향으로 흘러가는지 아는 것은 합리적이지 않습니다. 텍스트 방향이 치환 시점에 사용할 수 없는 컨텍스트에 의존하는 경우, 그것은 완전히 불가능할 수도 있습니다.
위 설명은 엄밀히 말하면 부정확합니다. 오늘날 모든 진지한 텍스트 렌더링은 HarfBuzz와 같은 셰이핑 엔진(shaping engine)을 필요로 하며, "->"를 "→"로 연결하는 리가처(연결 문자) 생성은 리가처를 지원하는 폰트와 협력하여 이러한 셰이퍼에 의해 수행됩니다. 셰이핑 엔진은 자신이 셰이핑하는 텍스트의 바이디(bidi) 컨텍스트와 스크립트를 인식하므로, 원칙적으로 화살표를 미러링할 수 있습니다.
그들은 다음과 같은 것을 이야기하고 있습니다: GitHub - tonsky/FiraCode: Free monospaced font with programming ligatures · GitHub
눈먼 문자 치환 대신 리가처 방식을 사용하는 것으로 전환하는 것을 고려해 보세요. 또 다른 논쟁의 여지가 있는 장점은 복사-붙여넣기 했을 때 텍스트가 화살표가 아닌 여전히 "->"로 남아있을 것이라는 점입니다.
이것을 구현하는 기술적 세부 사항은 조사해 보지 않았습니다. 이 해결책을 사용하기로 결정하신다면 그것은 당신에게 맡기겠습니다.
수정: 글쎄, 놀랍지 않게도 Fira Text는 특히 RTL을 염두에 두고 설계되지 않았기 때문에 렌더링이 어긋나 있습니다 - 하지만 적어도 화살표 방향은 맞습니다! https://fonts.google.com/specimen/Fira+Code?preview.text=A%20->%20B,%20א%20->%20ב
Firefox:
오늘날 이걸 올바르게 수행하고 RTL/바이디를 명시적으로 지원하는 폰트가 존재하는지 확실하지 않습니다.
