현재 이모티콘을 지원하는 DrawTextEx() 함수를 직접 작성하고 있습니다. 이 함수를 사용하면 이모티콘이 텍스트에서 발견 될 때마다 콜백이 호출되어 발신자가 이미지로 이모티콘이 포함 된 텍스트 세그먼트를 바꿀 수 있습니다. 예를 들어 텍스트에있는 유니 코드 문자 0x3DD8 0x00DE는 텍스트가 그려지는 동안 웃는 얼굴 이미지로 바뀝니다. 사실이 함수는 잘 작동합니다."HTML 엔터티"이모티콘 코드를 UTF16으로 변환 (C++)
이제 발신자 측에서 이미지 라이브러리를 구현하고 싶습니다. 콜백 함수에서 0x3DD8 0x00DE와 같은 텍스트 세그먼트를받습니다. 제 생각은이 코드를 모든 유니 코드 조합을 포함하는지도에서 키로 사용하는 것입니다. 모든 코드 조합은 그릴 이미지가 포함 된 구조와 연결되어 있습니다. http://emojione.com/developers/ 웹 사이트에서 좋은 패키지를 발견했습니다. 이 사이트에서 사용할 수있는 모든 패키지에는 16 진수 코드 인 여러 파일 이름이 들어 있습니다. 따라서 패키지에 포함 된 파일을 반복하고 자동으로 맵을 만들 수 있습니다.
그러나이 코드는 다른 표준의 일부이며 사실 웹 개발에 사용 된 "HTML 엔터티"라는 항목 집합이라는 사실을 발견했습니다. 이는 http://graphemica.com/%F0%9F%98%80 웹 사이트에서 볼 수 있습니다. 따라서 이러한 파일을 사용할 수 있으려면 이름에 포함 된 HTML 엔터티 값을 UTF16 코드로 변환하는 솔루션이 필요합니다. 예를 들어 위에서 언급 한 웃는 얼굴의 경우 0x1f600 HTML 엔터티 코드를 0x3DD8 0x00DE UTF16 코드로 변환해야합니다.
무차별 접근 방식은 코드를 하나씩 코드에 추가하여 이러한 코드를 변환하는지도를 작성하는 것일 수 있습니다. 그러나 Unicode 표준에는 가장 낙관적 인 시나리오에서 이모티콘에 대한 1800 가지 이상의 조합이 포함되어 있으므로 필자는 알려진 API 또는 함수와 같은 기존 솔루션이 있음을 알고 싶습니다. 아니면 그렇게 할 수있는 알려진 트릭이 있습니까? 예를 들어
감사