XL-Fontload
เครือข่ายแบบอักษรจีน ตัดแบบอักษรตามความถี่ของคำและทำการโหลดขี้เกียจผ่านส่วนหน้า ไม่จำเป็นต้องมีการสนับสนุนโปรแกรมแบ็กเอนด์
- ไฟล์ Word-Frequency (Word-frequency.csv) ไฟล์สาธิตแหล่งที่มา: กระทรวงศึกษาธิการ: กระทรวงศึกษาธิการ
- แสดงรายการแบบอักษรการแปลง สถานที่ในฟอนต์/ ไดเรกทอรีที่มีโครงสร้างที่ไม่เป็นทางการ ค้นหาไฟล์เก็บถาวรที่สิ้นสุด. TTF ทั้งหมดโดยอัตโนมัติ
- สำหรับแต่ละแบบอักษร:
- แสดงรายการอักขระที่รองรับทั้งหมด
- ในหมู่พวกเขาห้าร้อยอักขระเครื่องหมายวรรคตอนตัวอักษรภาษาอังกฤษตัวเลข ฯลฯ มักใช้เป็นไฟล์ตัวอักษรตัวแรก
- ถัดไปหากอักขระที่เหลือจะปรากฏในตารางคำว่าความถี่ไฟล์อักขระจะถูกสร้างขึ้นตามแต่ละอักขระแต่ละอักขระของความถี่คำ
- อักขระที่ไม่เกี่ยวข้องที่เหลือจะถูกสร้างขึ้นเป็นไฟล์ตัวอักษรสำหรับแต่ละอักขระแต่ละร้อยตัว
- ไฟล์ตัวอักษรทั้งหมดจะถูกวางไว้ในไดเรกทอรีเดียวกันและชื่อไฟล์จะถูกคั่นด้วยตัวเลข
- รหัสคำว่าเอาท์พุท/หมายเลขไฟล์ตัวอักษรสำหรับการตรวจสอบอย่างรวดเร็วของ front-end
การใช้งาน / คอมไพเลอร์
โครงการนี้ใช้ nodejs โปรดติดตั้ง NodeJS และ NPM ก่อนและใช้การติดตั้ง NPM เพื่อสร้างไดเรกทอรี NODE_MODULES คำแนะนำอ้างอิง:
curl -sL https://deb.nodesource.com/setup_8.x | sudo bash -
npm install
จัดระเบียบแบบอักษรที่คุณต้องการแปลงเป็นฟอนต์/ ไดเรกทอรีโดยโครงสร้างไดเรกทอรีไม่ จำกัด โปรแกรมจะสแกนไฟล์แบบอักษรทั้งหมดโดยอัตโนมัติ
- ปัจจุบันมีเพียง TTF เท่านั้นที่กิน ~ Chilly
เตรียมไฟล์ FONT Word-frequency.csv
ดำเนินการ Converter Compile.sh
ไฟล์ตัวอักษรถูกส่งออกในสินทรัพย์/ ไดเรกทอรี
การใช้งาน / ส่วนหน้า
วิธีการใช้งานขั้นพื้นฐาน:
xfl.load("http://path/to/scattered/font/folder/", options, function(font) {
font.sync(stringToDisplay);
})
ตัวอย่างของการโหลดแบบฟอนต์แบบไดนามิกตามเนื้อหาทันที:
/* assume we have "textarea" variable to be an input box accepting user input */
xfl.load("http://path/to/scattered/font/folder/", options, function(font) {
textarea.addEventListener("keyup", function() {
font.sync(textarea.value);
});
})
หากคุณไม่ได้วางแผนที่จะทำไฟล์ตัวอักษรของคุณเองคุณสามารถใช้ชุดไฟล์แบบอักษรที่เราเตรียมผ่านหน้า GitHub ที่ตั้งของห้องสมุดโครงการอยู่ที่นี่ หากคุณต้องการใช้งานคุณสามารถใช้เว็บไซต์นี้: http://plotdb.github.io/xl-fontset/alpha/<font ชื่อ> ตัวอย่างเช่น:
xfl.load("http://plotdb.github.io/xl-fontset/alpha/瀨戶字体", function(font) { ...
โปรดเปลี่ยน "<ชื่อ font>" เป็นแบบอักษรที่คุณต้องการใช้ รายการของแบบอักษรที่รองรับในปัจจุบันสามารถดูได้ที่นี่รวมถึง Wang Hanzong 42 แบบอักษร, การแกะสลักหิน, สถานีเย็น, CWText-Q, Seto Fonts, ฯลฯ , ทั้งหมด 57 อักษร
ควรสังเกตว่ายังมีปัญหาบางอย่างเมื่อแปลงฟอนต์ซึ่งอาจนำไปสู่ตัวละครที่หายไปในฟอนต์บางตัว นอกจากนี้แบบอักษรทั้งหมดที่มีอักขระจีนที่สมบูรณ์ไม่ได้โปรดใช้ตามดุลยพินิจของคุณเอง
ตัวเลือก:
- FontName - ชื่อที่ใช้ในตระกูล Font ค่าเริ่มต้นเป็น basename ของ URL
- (TBD) ข้อความ - ไฟล์ล่วงหน้าที่มีข้อความในตัวเลือกนี้
ทิศทางในอนาคต
- การเพิ่มประสิทธิภาพการส่งสัญญาณ (การเพิ่มประสิทธิภาพ)
- เมื่อคำนึงถึงความสัมพันธ์ของตัวละครพื้นที่อักขระสามารถสร้างขึ้นได้ผ่าน Mochi และคลังข้อมูลเฉพาะและการจัดกลุ่มอักขระที่เกี่ยวข้องเป็นพื้นฐานสำหรับการตัดแบบอักษรผ่านอัลกอริทึมการจัดกลุ่ม (เช่นการจัดกลุ่ม K-mean) ซึ่งจะช่วยลดจำนวนไฟล์ที่ต้องโหลด
- ปรับขนาดไฟล์ให้เหมาะสม
- ระบุโมดูลไฟล์ Nginx และ Apache ช่วยให้เบราว์เซอร์ได้รับไฟล์ที่จำเป็นผ่านคำขอ HTTP เดียว (ตัวอย่างเช่นรับ https: // path/to/font/1+2+3+4)
- ปัญหาคุณภาพ (คุณภาพ)
- ส่วนคำที่ขาดหายไปสามารถใช้เพื่อสร้างการเรียนรู้ออนไลน์โดยใช้สไตล์ที่เป็นปฏิปักษ์และเติมโดยอัตโนมัติ
- เครือข่ายการสร้างที่กล่าวถึงข้างต้นสามารถใช้เพื่อช่วยในการสร้างแบบอักษรใหม่
- อื่น
- ตั้งค่าพารามิเตอร์และเมื่อสร้างไฟล์แบบอักษรคุณสามารถปรับแต่งชุดฟอนต์ตามความต้องการของคุณได้โดยการตั้งค่า
- Google Font ได้ใช้เทคนิคที่คล้ายกันเพื่อโหลดแบบอักษรจีน ดู:
- https://developers.google.com/web/fundamentals/performance/optimizing-content-efficience/webfont-optimization
- ตัวอย่าง CSS:
- https://fonts.googleapis.com/css?family=zhi-mang-xing&display=swap
ใบอนุญาต
- ไฟล์ FONT: ไฟล์ตัวอักษรที่ดูแลทั้งหมดจะถูกวางแยกต่างหากใน repo อื่น (XL-Fontset) และเป็น GPL หรือ SIL-OFL ที่ได้รับอนุญาต (ตกลงสำหรับการใช้งานเชิงพาณิชย์)
- ซอร์สโค้ดถูกเผยแพร่ภายใต้ใบอนุญาต MIT