Hyperglot ช่วยให้นักออกแบบประเภทตอบคำถามง่าย ๆ เกี่ยวกับการสนับสนุนภาษาในแบบอักษร: ฉันจะใช้แบบอักษร A เพื่อตั้งค่าข้อความในภาษา B ได้เมื่อใด ต้องใช้คำตอบในทางปฏิบัติโดยการระบุชุดอักขระมาตรฐานสำหรับแต่ละการสะกดการันต์ที่ใช้โดยภาษา ฐานข้อมูลที่มีข้อมูลในปัจจุบันมากกว่า 640 ภาษาเป็นงานที่อยู่ระหว่างดำเนินการออกแบบมาเพื่อเติบโต
เราบันทึกชุดอักขระพื้นฐานและเสริมใด ๆ สำหรับแต่ละการสะกดการันต์ของภาษา โปรดทราบว่ามีการใช้ orthographies ที่ใช้อย่างแข็งขันเท่านั้น (สถานะของพวกเขาถูกตั้งค่าเป็น primary ) เมื่อตรวจจับการสนับสนุนภาษาในตัวอักษร orthographies อื่น ๆ รองหรือประวัติศาสตร์จะแสดงเพื่อวัตถุประสงค์ในการให้ข้อมูล
ในกรณีที่เกี่ยวข้องเรายังให้บันทึกการออกแบบสั้น ๆ ที่มีเคล็ดลับเกี่ยวกับข้อกำหนดการสร้างและการวางตำแหน่งที่เกินกว่าจุดรหัสอักขระ Unicode ควรใช้ HyperGlot เพื่อตรวจสอบว่าตัวอักษรสามารถพิจารณาใช้กับภาษาเฉพาะได้หรือไม่ มันไม่ได้พูดอะไรเกี่ยวกับคุณภาพของการออกแบบตัวอักษร
HyperGlot เป็นงานที่อยู่ระหว่างดำเนินการตามที่เป็นอยู่และความถูกต้องของข้อมูลภาษานั้นแตกต่างกันไป เพื่อช่วยให้คุณประเมินความถูกต้องของผลลัพธ์ที่คุณดูแต่ละภาษาในฐานข้อมูลมาพร้อมกับฉลากที่ระบุคุณภาพของข้อมูลที่เรามี (เช่นบางส่วนได้รับการพิจารณาว่า drafts บางอย่างได้ verified ) เราได้ตรวจสอบข้อมูลกับแหล่งข้อมูลออนไลน์และออฟไลน์ต่างๆและเรามุ่งมั่นที่จะปรับปรุงอย่างต่อเนื่อง อย่างไรก็ตามเรายอมรับว่าการทำแผนที่ทุกภาษาของโลกด้วยวิธีนี้เกินความสามารถของเรา - เราต้องการความช่วยเหลือจากผู้ใช้แต่ละภาษา! ดังนั้นหากคุณพบปัญหาหรือสังเกตว่าภาษาโปรดของคุณหายไปจากฐานข้อมูลให้ติดต่อกัน เราจะรวมความคิดเห็นและเครดิตของคุณอย่างมีความสุข
อ่านเพิ่มเติมเกี่ยวกับ HyperGlot บนเว็บแอปเกี่ยวกับหน้า
การเปรียบเทียบ hyperglot และ unicode cldr
มีหลายวิธีในการใช้ฐานข้อมูล:
pip install hyperglot , ดูบันทึกการใช้งานด้านล่าง)pip install hyperglot )หมายเหตุสองสามข้อเพื่อแสดงให้เห็นว่าทำไมคำถามของการสนับสนุนภาษาจึงมีความซับซ้อน:
เป็นสิ่งสำคัญที่จะต้องทราบว่า มีการสนับสนุนภาษาในฟอนต์มากกว่าการสนับสนุนชุดจุดรหัส ตัวอักษรจะต้องรวมร่ายมนตร์ที่มีรูปร่างที่ยอมรับได้/อ่านได้ของอักขระสำหรับภาษาเฉพาะ บางครั้งมีการเปลี่ยนแปลงระดับภูมิภาคหรือภาษาสำหรับจุดรหัสเดียวกันซึ่งหมายความว่าภาษาต่าง ๆ มีข้อกำหนดที่แตกต่างกันเกี่ยวกับรูปร่างของตัวละคร แต่ข้อกำหนดที่เหมือนกันบนจุดรหัสของอักขระ ยิ่งไปกว่านั้นร่ายมนตร์ต้องมีปฏิสัมพันธ์ตามที่คาดไว้โดยอนุสัญญาของสคริปต์/การสะกดการันต์เฉพาะ ตัวอย่างเช่นบางภาษา/สคริปต์จำเป็นต้องมี (หรือคาดหวังอย่างยิ่ง) การผสมผสานของ Glyph บางอย่างเพื่อสร้าง ligatures หรือการรวมกันของ Glyph บางอย่างจำเป็นต้องมีการแก้ไขระยะห่างเพิ่มเติม (kerning) เพื่อป้องกันการปะทะหรือช่องว่าง ดังนั้นรายงานที่ผลิตโดยเครื่องมือ HyperGlot ควรใช้เพื่อตรวจสอบว่าตัวอักษรสามารถพิจารณาใช้กับภาษาเฉพาะได้หรือไม่ มันไม่ได้พูดอะไรเกี่ยวกับคุณภาพของการออกแบบ
อ่านเพิ่มเติมเกี่ยวกับเรื่องนี้บนเว็บแอปเกี่ยวกับหน้า
อักขระจะแสดงโดยใช้จุดรหัส Unicode ในข้อความดิจิตอลเช่นตัวอักษรละตินสคริปต์ a มีจุดรหัส U+0061 แบบอักษร Digital Opentype แมปรหัสเหล่านี้ชี้ไปที่ร่ายมนตร์การแสดงภาพของอักขระ ในการค้นหาว่าสามารถใช้แบบอักษรสำหรับข้อความในภาษาเฉพาะได้หรือไม่เราจำเป็นต้องรู้ว่าต้องใช้รหัสอักขระใดที่จำเป็นสำหรับภาษา นี่คือสิ่งที่ฐานข้อมูล HyperGlot มีไว้สำหรับ
รายการ codepoints ได้มาจากตัวอักษร
ฐานข้อมูลสามารถเข้าถึงได้ในสองโหมด:
ä ), codepoints สำหรับอักขระพื้นฐานและการรวมอักขระเครื่องหมาย (เช่น a และการรวม ¨ ) จากชุดค่าผสมเหล่านี้ไม่จำเป็นเว้นแต่ว่าการรวมกันไม่มีรูปแบบ --marks เข้ารหัส--decomposed จะต้องมีอักขระพื้นฐานและการรวมเครื่องหมายสำหรับภาษา (เช่นภาษากับ ä จะจับคู่กับแบบอักษรที่มีเพียงและ ¨ a ไม่ใช่ ä เป็น glyph ที่เข้ารหัส) ระดับ validity ที่ระบุใช้เพื่อกรองรายการภาษาด้วยความถูกต้อง (หมายถึงความหมายที่ต่ำกว่า) ที่ต่ำกว่า
หากมีการร้องขอรายการ base และ aux (เสริม) ของ CodePoints จะถูกรวมเข้าด้วยกันเพื่อให้ได้เกณฑ์ที่เข้มงวดมากขึ้นโดยใช้ตัวเลือก --support marks ในข้อมูลจำเป็นต้องใช้ตาม --decomposed ค่าธงและเครื่องหมาย --marks เครื่องหมาย เครื่องหมายที่ปรากฏในอักขระ aux เท่านั้นจะไม่จำเป็นสำหรับความถูกต้อง base
เมื่อตรวจจับการสนับสนุนภาษาจะมีการพิจารณารหัสจุดสำหรับการสะกดการันต์ หลัก สำหรับภาษาที่กำหนด Orthographies ที่มีสถานะ historical และ secondary จะถูกละเว้น หาก orthographies หลายตัวมีค่า preferred_as_group พวกเขาจะถูกพิจารณาว่าเป็น One Onthography แม้ว่าจะมีสคริปต์หลายรายการ
เมื่อตรวจจับการสนับสนุนการสะกดการันต์ให้ใช้ --include-all-orthographies orthographies ทั้งหมดสำหรับภาษาที่กำหนดจะถูกตรวจสอบเป็นรายบุคคล Orthographies ที่มีสถานะ secondary จะรวมอยู่ด้วย Orthographies ที่มีสถานะ historical จะถูกละเว้น
หากรายการคะแนนรหัสในตัวอักษรรวมคะแนนรหัสทั้งหมดจากรายการ codepoints จากคะแนน 5 หรือ 6 ตัวอักษรจะถูกพิจารณาเพื่อสนับสนุนภาษา/การสะกดการันต์นี้ นอกจากนี้การเข้าร่วมพฤติกรรมและสิ่งที่แนบมาทำเครื่องหมายได้รับการตรวจสอบแล้วและภาษา/การสะกดการันต์ได้รับการพิจารณาก็ต่อการสนับสนุนหากตัวอักษรกำหนดรูปแบบเหล่านี้อย่างถูกต้อง ในรายชื่อภาษาที่รองรับจะถูกจัดกลุ่มตามสคริปต์
การรวมกันของภาษา-ออร์ ธ กราฟีหมายความว่าภาษาที่มี orthographies หลายตัวโดยใช้สคริปต์ที่แตกต่างกัน (เช่นเซอร์เบียหรือญี่ปุ่น) อยู่ในรายการภายใต้สคริปต์ทั้งหมดเหล่านี้ในเอาต์พุตเครื่องมือ
หมายเหตุสำคัญ: เว็บแอปในปัจจุบันไม่รวมการตรวจสอบการสร้างรูปร่าง!
เครื่องมือ CLI แบบง่ายมีให้สำหรับข้อมูลการสนับสนุนภาษาที่ส่งออกสำหรับไฟล์ Font ที่ผ่าน
คุณจะต้องติดตั้ง Python 3 ติดตั้งผ่าน PIP:
pip install hyperglothyperglot path/to/font.otf หรือตรวจสอบแบบอักษรหลายแบบในครั้งเดียวหรือความครอบคลุมรวมของพวกเขา (พร้อม -m union )
hyperglot path/to/font.otf path/to/anotherfont.otf ...ตัวเลือกเพิ่มเติม :
-s, --support : ระบุระดับการสนับสนุนที่จะตรวจสอบ (ตัวเลือกปัจจุบันคือ "ฐาน" (ค่าเริ่มต้นถ้าละเว้น) หรือ "aux")-m, --marks : ตั้งค่าสถานะเพื่อส่งสัญญาณตัวอักษรควรรวมเครื่องหมายรวมทั้งหมดที่ใช้สำหรับภาษา -โดยค่าเริ่มต้นเฉพาะเครื่องหมายเหล่านั้นจะต้องใช้ซึ่งไม่ได้เป็นส่วนหนึ่งของอักขระ preencoded (ค่าเริ่มต้นเป็นเท็จ)-d, --decomposed : ธงเพื่อส่งสัญญาณตัวอักษรควรได้รับการพิจารณาสนับสนุนภาษาตราบเท่า-a, --autonyms : แสดงชื่อภาษาในภาษาและสคริปต์ของพวกเขา--speakers : ouput มีผู้พูดกี่ภาษา (ที่ว่าง)--sort : ระบุ "ลำโพง" เพื่อเรียงลำดับโดยลำโพง (ค่าเริ่มต้นคือ "ตัวอักษร")--sort-dir : ระบุ "desc" เพื่อเรียงลำดับตามลำดับจากมากไปน้อย (ค่าเริ่มต้นคือ "ASC" สำหรับคำสั่งซื้อจากน้อยไปมาก)-o, --output : จัดหาพา ธ ไฟล์เพื่อเขียนเอาต์พุตไปยังในรูปแบบ YAML สำหรับแบบอักษรอินพุตเดียวนี่จะเป็นชุดย่อยของฐานข้อมูล HyperGlot ด้วยภาษาและ orthographies ที่ตัวอักษรรองรับ หากมีฟอนต์หลายตัวที่ให้ไฟล์ YAML จะมีคีย์ DICT ระดับบนสุดสำหรับแต่ละไฟล์ หากตัวเลือก -m มีให้ไฟล์ YAML จะมีผลการแยกหรือผลการรวมกันที่เฉพาะเจาะจง-c, --comparison : วิธีการประมวลผลอินพุตหากมีหลายไฟล์ (ตัวเลือกในปัจจุบันคือ "บุคคล", "Union" และ "Intersection")--include-all-orthographies : ตรวจสอบ orthographies ทั้งหมดของภาษาไม่ใช่แค่หลักของมัน--validity : ระบุการกรองตามระดับความถูกต้องของข้อมูลภาษา (ค่าเริ่มต้นคือ "เบื้องต้น")--include-historical : ตัวเลือกในการรวมภาษาและ orthographies ที่ทำเครื่องหมายว่าเป็นประวัติ (ค่าเริ่มต้นเป็นเท็จ)--include-constructed : ตัวเลือกในการรวมภาษาและ orthographies ที่ถูกทำเครื่องหมายว่าสร้าง (ค่าเริ่มต้นเป็นเท็จ)--strict-iso : แสดงชื่อภาษาและข้อมูลภาษา macrolanguage อย่างเคร่งครัดตาม ISO (ค่าเริ่มต้นเป็นเท็จ)-v, --verbose : ข้อมูลการบันทึกเพิ่มเติม (ค่าเริ่มต้นเป็นเท็จ)-V, --version : พิมพ์หมายเลขเวอร์ชัน HyperGlot เวอร์ชัน (ค่าเริ่มต้นเป็นเท็จ) การติดตั้งแพ็คเกจ PIP ยังติดตั้งคำสั่ง hyperglot-validate และ hyperglot-save ซึ่งอนุญาตให้ตรวจสอบและบันทึกข้อมูล YAML ในวิธีที่มีโครงสร้างและเข้ากันได้
HyperGlot มาพร้อมกับคำสั่ง hyperglot-report ที่ใช้ตัวเลือกเดียวกันทั้งหมดคือคำสั่ง hyperglot หลัก (ดูด้านบน) นอกจากนี้ยังต้องใช้ตัวเลือกเหล่านี้ในการรายงานเอาต์พุตเกี่ยวกับตัวละครหรือการรูปร่างที่หายไปเพื่อสนับสนุนภาษาที่ตรวจพบว่าไม่รองรับ:
--report-missing : พารามิเตอร์เพื่อรายงานภาษาที่ไม่มีใครเทียบซึ่งไม่มีอักขระ N หรือน้อยกว่า หาก n คือ 0 ภาษาทั้งหมดที่มีอักขระที่หายไปจำนวนใด ๆ จะถูกระบุไว้ (ค่าเริ่มต้น)--report-marks : พารามิเตอร์เพื่อรายงานภาษาที่หายไป N หรือน้อยกว่าลำดับการแนบเครื่องหมาย ถ้า n คือ 0 ภาษาทั้งหมดที่มีหมายเลขใด ๆ ลำดับใด ๆ ของลำดับการแนบเครื่องหมายที่หายไปจะแสดงรายการ (ค่าเริ่มต้น)--report-joining : พารามิเตอร์เพื่อรายงานภาษาที่หายไป n หรือน้อยกว่าลำดับการเข้าร่วม หาก n คือ 0 ภาษาทั้งหมดที่มีจำนวนการเข้าร่วมที่ขาดหายไปจำนวนใด ๆ จะแสดงอยู่ (ค่าเริ่มต้น)--report-all : พารามิเตอร์ในการตั้งค่า/เขียนทับพารามิเตอร์อื่น ๆ --report-xxx อื่น ๆ ทั้งหมด โครงสร้างข้อมูลอธิบายไว้ในไฟล์แยกต่างหากพร้อมกับแนวทางสำหรับการสนับสนุน
การอัปเดตจะถูกรวบรวม/รวมเข้ากับสาขา dev กับสาขา master ที่ถือเวอร์ชันล่าสุดที่เผยแพร่
ฐานข้อมูลและการบริจาค
base + mark ได้รับผลกระทบจากคำแนะนำแบบอักษร ฐานข้อมูลและเครื่องมือ HyperGlot ได้รับการพัฒนาโดย Rosetta ผู้เชี่ยวชาญด้านการพิมพ์ระดับโลกสำนักพิมพ์และผู้ผลิตแบบอักษรดั้งเดิมที่ตอบสนองความต้องการของการพิมพ์ระดับโลก
จนถึงตอนนี้การพัฒนาเครื่องมือได้รับการสนับสนุนโดย Rosetta, Antonio Cavedoni (@Verbosus) และเรากำลังยื่นขอเงินทุนเพิ่มเติม นอกจากนี้คุณยังสามารถสนับสนุน Hyperglot ผ่าน GitHub
ผู้สนับสนุนหลักจนถึงตอนนี้:
รายชื่อผู้มีส่วนร่วมทั้งหมด