Hyperglot은 유형 디자이너가 글꼴로 언어 지원에 대한 간단한 질문에 대답하도록 도와줍니다. 글꼴을 사용하여 언어 B로 텍스트를 설정할 수 있습니까? 언어가 사용하는 각 직교에 대한 표준 문자 세트를 식별함으로써 실용적인 답변이 필요합니다. 현재 640 개가 넘는 언어에 대한 정보가 포함 된 데이터베이스는 성장하도록 설계된 진행중인 작업입니다.
우리는 언어의 각 직교에 대한 기본 및 모든 보조 문자 세트를 기록합니다. 글꼴에서 언어 지원을 감지 할 때 적극적으로 사용되는 직교 (해당 상태가 primary 설정됨) 만 사용됩니다. 다른 2 차 또는 역사적 직교는 정보 목적으로 만 표시됩니다.
관련이있는 경우, 유니 코드 문자 코드 포인트를 넘어서는 형성 및 위치 요구 사항에 대한 팁이 포함 된 간단한 설계 메모를 제공합니다. Hyperglot은 특정 언어로 사용하기 위해 글꼴을 고려할 수 있는지 여부를 감지하는 데 사용해야합니다. 글꼴 디자인의 품질에 대해서는 아무 말도하지 않습니다.
Hyperglot은 그대로 제공되는 작업으로 진행되는 작업이며 언어 데이터의 유효성은 다양합니다. 보고있는 결과의 유효성을 평가할 수 있도록 데이터베이스의 각 언어에는 데이터의 품질을 나타내는 레이블과 함께 제공됩니다 (예 : 일부는 drafts 으로 간주되며 일부는 verified 되었습니다). 우리는 다양한 온라인 및 오프라인 소스에 대한 정보를 확인했으며 지속적으로 개선하기 위해 최선을 다하고 있습니다. 그러나 우리는 이런 식으로 세계의 모든 언어를 매핑하는 것이 우리의 능력을 넘어서는 것을 인정합니다. 각 언어의 사용자의 도움이 필요합니다! 따라서 문제를 발견하거나 좋아하는 언어가 데이터베이스에서 모두 누락 된 경우 연락하십시오. 우리는 당신의 의견을 행복하게 통합하고 당신을 신용 할 것입니다.
웹 앱에서 Hyperglot에 대해 자세히 알아보십시오.
초광과 유니 코드 CLDR의 비교
데이터베이스를 사용하는 방법에는 여러 가지가 있습니다.
pip install hyperglot , 아래 사용 메모 참조)pip install hyperglot )언어 지원 문제가 복잡한 이유를 설명하기위한 몇 가지 메모 :
코드 포인트 세트를 지원하는 것보다 글꼴로 언어 지원에 더 많은 것이 있다는 점에 유의해야합니다. 글꼴에는 특정 언어에 대한 문자의 허용/읽기 쉬운 모양이있는 글리프를 포함해야합니다. 때로는 동일한 코드 포인트에 대한 지역 또는 언어 변형이 있는데, 이는 다른 언어가 문자의 모양에 대해 다른 요구 사항을 제시하지만 문자의 코드 포인트에 대해 동일한 요구 사항을 제시 함을 의미합니다. 또한, 글리프는 특정 스크립트/오르토 그래피의 규칙에 따라 상호 작용해야합니다. 예를 들어, 일부 언어/스크립트는 인물을 형성하기 위해 특정 글리프 조합이 필요하거나 강력하게 기대하는 경우 또는 일부 글리프 조합에는 충돌이나 간격을 방지하기 위해 추가 간격 보정 (Kerning)이 필요합니다. 따라서, Hyperglot 도구에 의해 생성 된 보고서는 특정 언어와 함께 사용하기 위해 글꼴을 고려할 수 있는지 여부를 감지하는 데만 사용해야합니다. 디자인의 품질에 대해 아무 말도하지 않습니다.
웹 앱에 대해 자세히 알아보십시오.
문자는 디지털 텍스트에서 유니 코드 코드 포인트를 사용하여 표시됩니다. 예를 들어 라틴 스크립트 문자 a 코드 포인트 U+0061 있습니다. Digital OpenType Fonts이 코드 포인트를 문자의 시각적 표현에 매핑합니다. 특정 언어로 텍스트에 글꼴을 사용할 수 있는지 여부를 찾으려면 언어에 어떤 문자 코드 포인트가 필요한지 알아야합니다. 이것이 Hyperglot 데이터베이스의 것입니다.
코드 포인트 목록은 글꼴에서 얻습니다.
데이터베이스는 두 가지 모드로 액세스 할 수 있습니다.
ä ), 기본 문자에 대한 코드 포인트 및 마크 문자 (예 : a 와 ¨ )를 결합하여 인코딩 된 양식이 없거나 --marks 스 플래그가 사용되지 않는 한 필요하지 않습니다.--decomposed ¨ 글꼴을 사용하는 것은 기본 문자와 언어의 마크를 결합해야합니다 (예 : ä 와 언어는 a 만 가지고 결합 된 글리프 ä 결합하지 않는 글꼴과 일치합니다). 지정된 validity 수준은 언어 항목을 낮은 (의미, 더 불확실한) 유효성으로 걸러냅니다.
요청이있는 경우, base and aux (보조) 코드 포인트 목록을 결합하여 --support 옵션을 사용하여보다 엄격한 기준을 달성합니다. 데이터의 marks --decomposed --marks 플래그를 기반으로 필요합니다. aux 문자에만 나타나는 마크는 base 유효성에 대해서는 필요하지 않습니다.
언어 지원을 감지 할 때 주어진 언어에 대한 1 차 직교에 대한 코드 포인트가 고려됩니다. historical 및 secondary 지위를 가진 정형 조영술은 무시됩니다. 다수의 직교 그래프에 preferred_as_group 있는 경우 여러 스크립트를 포함하더라도 하나의 직교로 간주됩니다.
직교 지원을 감지 할 때, --include-all-orthographies 사용하면 주어진 언어에 대한 모든 직교를 개별적으로 확인합니다. secondary 지위가있는 정형 노조가 포함되어 있습니다. historical 지위를 가진 정형민은 무시됩니다.
글꼴의 코드 포인트 목록에 포인트 5 또는 6의 코드 포인트 목록의 모든 코드 포인트가 포함 된 경우 글꼴은이 언어/오르토 그래피를 지원하는 것으로 간주됩니다. 또한, 동작 및 마크 첨부 파일에 결합되는 것이 검증되고 언어/오르토 그래피는 글꼴이 올바르게 형성되는 경우에만 지원되는 것으로 간주됩니다. 목록에서 지원되는 언어는 스크립트별로 그룹화됩니다.
언어-지형 조합은 다른 스크립트 (예 : 세르비아 또는 일본어)를 사용하여 여러 개의 직교를 가지고있는 언어가 도구 출력의 이러한 모든 스크립트에 나열되어 있음을 의미합니다.
중요 참고 사항 : 웹 앱에는 현재 성형 점검이 포함되어 있지 않습니다!
전달 된 글꼴 파일에 대한 언어 지원 데이터를 출력하기 위해 간단한 CLI 도구가 제공됩니다.
Python 3을 설치해야합니다. PIB를 통해 설치 :
pip install hyperglothyperglot path/to/font.otf 또는 한 번에 여러 글꼴을 확인하거나 결합 된 커버리지 ( -m union 포함)
hyperglot path/to/font.otf path/to/anotherfont.otf ...추가 옵션 :
-s, --support : 확인 할 지원 수준을 지정하십시오 (현재 옵션은 "기본"(기본값이 생략 된 경우) 또는 "보조")-m, --marks : 글꼴을 신호하는 플래그는 언어에 사용되는 모든 결합 마크를 포함해야합니다 -기본적으로 예비 인코딩 된 문자의 일부가 아닌 마크 만 필요합니다 (기본값은 false).-d, --decomposed : 글꼴을 신호하는 플래그는 언어를 쓰는 모든 기본 글리프와 마크가있는 한 언어를 지원하는 것으로 간주되어야합니다. 기본적으로 미리 복합 된 글리프도 필요합니다 (기본값은 거짓).-a, --autonyms : 모국어 및 스크립트로 언어 이름을 출력--speakers--sort : 스피커별로 정렬 할 "스피커"를 지정합니다 (기본값은 "알파벳"입니다)--sort-dir : 하강 순서로 정렬하도록 "DESC"를 지정합니다 (기본값은 오름차순 순서를 위해 "ASC"입니다)-o, --output : yaml 형식으로 출력을 쓸 수있는 파일 경로를 제공합니다. 단일 입력 글꼴의 경우 글꼴이 지원하는 언어 및 오르토 그래피를 갖춘 하이퍼 글로트 데이터베이스의 하위 집합이됩니다. 여러 글꼴이 제공되면 YAML 파일에는 각 파일에 대한 최상위 취도 키가 있습니다. -m 옵션이 제공되면 Yaml 파일에는 특정 교차 또는 Union 결과가 포함됩니다.-c, --comparison : 여러 파일이 제공되는 경우 입력 처리 방법 (현재 옵션은 "개인", "Union"및 "Intersection")--include-all-orthographies : 기본 언어뿐만 아니라 언어의 모든 직교를 확인하십시오.--validity : 언어 데이터의 유효성 수준에 따라 필터를 지정합니다 (기본값은 "예비"입니다).--include-historical : 역사적으로 표시된 언어 및 직교를 포함하는 옵션 (기본값은 거짓)--include-constructed : 구축 된 것으로 표시된 언어 및 직교를 포함시키는 옵션 (기본값은 False)--strict-iso : ISO에 따라 디스플레이 언어 이름 및 거시 언어 데이터 (기본값은 False)-v, --verbose : 더 많은 로깅 정보 (기본값은 거짓)-V, --version : 버전 Hyperglot 버전 번호 인쇄 (기본값은 false) PIP 패키지를 설치하면 hyperglot-validate 및 hyperglot-save 명령이 설치되어 YAML 데이터를 구조적이고 호환 가능한 방식으로 확인하고 저장할 수 있습니다.
Hyperglot에는 Main hyperglot 명령 (위 참조)과 동일한 옵션을 모두 수행하는 hyperglot-report 명령이 함께 제공됩니다. 또한 지원되지 않는 것으로 감지 된 언어를 지원하기 위해 다음과 같은 문자 나 성형이 누락 된 것에 대한보고를 출력하기 위해 이러한 옵션이 필요합니다.
--report-missing : n 이하의 문자가 누락 된 타의 추종을 불허하는 언어를보고하는 매개 변수. n 이 0 인 경우 문자가 누락 된 모든 언어가 나열됩니다 (기본값).--report-marks : N 이하의 마크 첨부 시퀀스가 누락 된 언어를보고하는 매개 변수. n 이 0 인 경우 숫자가있는 모든 언어 인 경우 누락 된 마크 첨부 시퀀스 숫자가 나열됩니다 (기본값).--report-joining : n 이하의 결합 시퀀스가 누락 된 언어를보고하는 매개 변수. n이 0 인 경우, 결합 시퀀스가 누락 된 모든 언어가 나열됩니다 (기본값).--report-all : 다른 모든 것을 설정/덮어 쓰는 매개 변수 --report-xxx 매개 변수. 데이터 구조는 기여를위한 지침과 함께 별도의 파일로 설명됩니다.
업데이트는 최신 버전을 보유한 master 브랜치와 함께 dev 브랜치에 통합/병합됩니다.
데이터베이스 및 기여
base + mark 조합이 글꼴 지침의 영향을 받는지 확인하십시오. Hyperglot 데이터베이스 및 도구는 원래 글로벌 타이포그래피의 요구를 해결하는 세계 타이포그래피 전문가, 출판사 및 원본 글꼴 제조업체 인 Rosetta가 개발했습니다.
지금까지 도구 개발은 Antonio Cavedoni (@verbosus)의 Rosetta에 의해 지원되었으며 더 많은 자금을 지원하고 있습니다. Github를 통해 Hyperglot을 후원 할 수도 있습니다.
지금까지 주요 기고자 :
기고자의 전체 목록