Extended Grapheme Clusters에 대해 하나의 질문이 있습니다. 예를 들어, 다음 코드를 살펴 : Extended Grapheme Clusters의 결합이 중지됩니다.
let message = "c\u{0327}a va bien" // => "ça va bien"
어떻게 스위프트는 결합 될 필요가 알고 않는다 (즉, ç)보다는 작은 문자 c와 "COMBINING 세 디유"로 치료보다 더?
Extended Grapheme Clusters에 대해 하나의 질문이 있습니다. 예를 들어, 다음 코드를 살펴 : Extended Grapheme Clusters의 결합이 중지됩니다.
let message = "c\u{0327}a va bien" // => "ça va bien"
어떻게 스위프트는 결합 될 필요가 알고 않는다 (즉, ç)보다는 작은 문자 c와 "COMBINING 세 디유"로 치료보다 더?
문자열에 unicodeScalars
보기 사용
let message1 = "c\u{0327}".decomposedStringWithCanonicalMapping
for scalar in message1.unicodeScalars {
print(scalar) // print c and Combining Cedilla separately
}
let message2 = "c\u{0327}".precomposedStringWithCanonicalMapping
for scalar in message2.unicodeScalars {
print(scalar) // print Latin Small Letter C with Cedilla
}
주 Apple's Technical Q&A에 의해 언급 된 모든 복합 문자가하는 사전 구성된 양식을 가지고 :
중요 :는 미리 만들어진로 변환하지 마십시오 텍스트 처리를 단순화하기위한 유니 코드 사전 구성된 유니 코드는 여전히 복합 문자를 포함 할 수 있습니다. 예를 들어, U + 0065 U + 030A (라틴 소문자 E와 그 뒤에 결합 링이 뒤 따른다)의 동등한 사전은 없습니다.
고마워요! 그것은 모든 것을 지 웁니다. – user744641
유니 코드 표준의 일부인 https://developer.apple.com/ library/content/qa/qa1235/_index.html. 호기심 이외에 알고 싶은 이유가 있습니까? –
안녕하세요. 링크를 제공해 주셔서 감사합니다. 나는 그것이 어떻게 작동하는지 궁금해했다. 하나의 가능한 시나리오는 "결합 된 결과가 ç 일 것"과 같은 텍스트를 가질 수 있습니다. 그 텍스트에서 c 뒤에 오는 첫 번째 "̧"는 "ç"에 c와 결합되지 않습니다. 스위프트에서 어떻게 그렇게 할 수 있는지 궁금합니다. – user744641
즉, 두 개의 분해 된 유니 코드 문자를 하나의 문자가 아닌 2 개의 문자로 표시하려면 어떻게해야합니까? – user744641