ไลบรารี JavaScript ฟรีสำหรับการแยกวิเคราะห์และเขียนฟอนต์
ไลบรารี JavaScript แบบโอเพนซอร์สที่ช่วยให้สามารถแยกวิเคราะห์ อ่านและเขียนฟอนต์ TrueType หรือ OpenType ได้ รองรับการจัดการฟอนต์, เมตริกซ์ของ glyph และการจัดวางข้อความภายในแอป JS
ในอาณาจักรกว้างใหญ่ของการออกแบบและพัฒนาเว็บ การพิมพ์ตัวอักษรมีบทบาทสำคัญในการกำหนดประสบการณ์ผู้ใช้โดยรวม อย่างไรก็ตาม การทำงานกับการพิมพ์ตัวอักษรบนเว็บมีความท้าทายของมันเอง โชคดีที่ opentype.js ซึ่งเป็นไลบรารี JavaScript แบบโอเพ่นซอร์ส ได้ปรากฏเป็นเครื่องมือที่ทรงพลังซึ่งช่วยให้นักพัฒนาซอฟต์แวร์สามารถจัดการและใช้ศักยภาพของการพิมพ์ตัวอักษรในแอปพลิเคชันเว็บได้ ไลบรารีนี้ให้ API ที่เรียบง่ายและใช้งานง่าย ทำให้เข้าถึงได้สำหรับนักพัฒนาทุกระดับความชำนาญ มันมอบความยืดหยุ่นให้กับนักพัฒนาในการปรับแต่งและปรับใช้การพิมพ์ตัวอักษรให้ตรงกับความต้องการออกแบบเฉพาะของพวกเขา
Opentype.js ทำงานได้บนเบราว์เซอร์เว็บสมัยใหม่หลายประเภท ทำให้เป็นโซลูชันที่เชื่อถือได้และสม่ำเสมอสำหรับการใช้งานคุณลักษณะการพิมพ์ มีคุณลักษณะสำคัญหลายอย่างเป็นส่วนหนึ่งของไลบรารี เช่น กลไกการแยกวิเคราะห์ฟอนต์ที่แข็งแรง, การโต้ตอบกับ glyph แต่ละตัวภายในฟอนต์, การสนับสนุนการจัดวางข้อความที่ซับซ้อน, การเรนเดอร์ฟอนต์หลายแบบ, ความเข้ากันได้ข้ามเบราว์เซอร์, การสกัดข้อมูลฟอนต์โดยละเอียด, การสนับสนุนการจัดวางข้อความขั้นสูง, การทำแอนิเมชัน glyph แต่ละตัวและอื่น ๆ อีกมากมาย มันผสานรวมอย่างราบรื่นกับเทคโนโลยีเว็บที่มีอยู่และสามารถใช้ร่วมกับ HTML5 canvas, SVG หรือแม้แต่รวมกับ CSS และเฟรมเวิร์ก JavaScript
Opentype.js เป็นไลบรารี JavaScript แบบโอเพ่นซอร์สที่ช่วยให้นักพัฒนาเว็บทำงานกับฟอนต์ OpenType ซึ่งเป็นรูปแบบฟอนต์ที่ใช้กันอย่างแพร่หลาย ฟอนต์ OpenType มีคุณลักษณะการพิมพ์ขั้นสูง เช่น ลิเกเจอร์, เคอร์นนิง, และการแทนที่ glyphs ซึ่งช่วยเพิ่มความสวยงามและความอ่านง่ายของข้อความอย่างมาก ด้วยการใช้ opentype.js นักพัฒนาซอฟต์แวร์สามารถเปิดใช้งานคุณลักษณะเหล่านี้และเข้าถึงข้อมูลพื้นฐานของฟอนต์ OpenType ทำให้สามารถสร้างประสบการณ์การพิมพ์แบบไดนามิกและโต้ตอบบนเว็บ ไม่ว่าจะเป็นการปรับแต่งรายละเอียดการพิมพ์หรือการสร้างแอนิเมชันการพิมพ์ที่ซับซ้อน Opentype.js เป็นเครื่องมือที่มีคุณค่าสำหรับผู้ที่หลงใหลในศิลปะการพิมพ์ในยุคดิจิทัล
เริ่มต้นกับ Opentype.js
วิธีที่แนะนำในการติดตั้ง Opentype.js คือการใช้ npm โปรดใช้คำสั่งต่อไปนี้เพื่อเพิ่ม dependency ของ Maven ในโครงการของคุณ
ติดตั้ง Opentype.js ผ่าน npm
npm install opentype.jsคุณยังสามารถติดตั้งด้วยตนเอง; ดาวน์โหลดไฟล์เวอร์ชันล่าสุดโดยตรงจาก GitHub ที่เก็บข้อมูล
การเข้าถึงข้อมูลฟอนต์ผ่าน API ของ JavaScript
หนึ่งในคุณลักษณะสำคัญของ OpenType.js คือความสามารถในการสกัดข้อมูลฟอนต์อย่างละเอียดด้วยเพียงไม่กี่บรรทัดของโค้ด JavaScript ไลบรารีโอเพ่นซอร์ส Opentype.js ได้ให้ฟังก์ชันครบถ้วนสำหรับการโหลดและเข้าถึงข้อมูลที่เกี่ยวข้องกับฟอนต์ภายในแอปพลิเคชัน JavaScript ของพวกเขา นักพัฒนาสามารถเข้าถึงแอตทริบิวต์ต่าง ๆ เช่น ชื่อฟอนต์, ข้อมูลผู้ออกแบบ, รูปร่าง glyph, คู่เคอร์นิง, และอื่น ๆ อีกมากมาย ข้อมูลนี้ทำให้สามารถควบคุมการจัดพิมพ์ได้อย่างแม่นยำและส่งเสริมการทดลองเชิงสร้างสรรค์ ตัวอย่างต่อไปนี้แสดงวิธีโหลดและแสดงข้อมูลที่เกี่ยวข้องกับฟอนต์โดยใช้คำสั่ง JavaScript
วิธีแสดงข้อมูลที่เกี่ยวข้องกับฟอนต์ภายในแอป JavaScript?
function displayFontData() {
document.getElementById("font-data").innerHTML = JSON.stringify(font.tables, null, 4);
var html, tablename, table, property, value;
for(tablename in font.tables) {
table = font.tables[tablename];
html = '';
for(property in table) {
value = table[property];
html += ''+property+' ';
html += value;
html += ' ';
}
document.getElementById(tablename+"-table").innerHTML = html;
}
}
function onFontLoaded(font) {
@@ -331,6 +384,13 @@ ซอฟต์แวร์ฟรี
fontSizeSlider.addEventListener('input', fontSizeChanged, false);
fontSizeSlider.addEventListener('change', fontSizeChanged, false);
var tableHeaders = document.getElementById('font-data').getElementsByTagName('h3');
for(var i = tableHeaders.length; i--; ) {
tableHeaders[i].addEventListener('click', function(e) {
e.target.className = (e.target.className === 'collapsed') ? 'expanded' : 'collapsed';
}, false);
}
opentype.load(fontFileName, function (err, font) {
var amount, glyph, ctx, x, y, fontSize;
if (err) {
showErrorMessage(err.toString());
return;
}
onFontLoaded(font);
});
เปิดและแยกวิเคราะห์ฟอนต์ภายในแอป JavaScript
ไลบรารีโอเพ่นซอร์ส Opentype.js ช่วยให้นักพัฒนาซอฟต์แวร์สามารถโหลดและแปลงฟอนต์หลายประเภทภายในแอปพลิเคชัน JavaScript ของตนเอง ไลบรารีนี้ให้กลไกการพาร์สฟอนต์ที่แข็งแกร่ง ทำให้นักพัฒนาสามารถโหลดไฟล์ฟอนต์ OpenType (WOFF, OTF, TTF) ไปยังเว็บแอปพลิเคชันของพวกเขาได้ เมื่อฟอนต์ถูกโหลดแล้ว นักพัฒนาสามารถเข้าถึงและจัดการคุณสมบัติต่าง ๆ ของฟอนต์ เช่น รูปร่าง glyph, เมตริกซ์, และเมตาดาต้า ตัวอย่างต่อไปนี้แสดงวิธีโหลดฟอนต์หลายประเภทเช่น WOFF, OTF, TTF ภายในแอป JavaScript
วิธีโหลดฟอนต์ WOFF หรือ TTF ผ่าน API ของ JavaScript?
// case 1: from an URL
const buffer = fetch('/fonts/my.woff').then(res => res.arrayBuffer());
// case 2: from filesystem (node)
const buffer = require('fs').promises.readFile('./my.woff');
// case 3: from an
const buffer = document.getElementById('myfile').files[0].arrayBuffer();
// if running in async context:
const font = opentype.parse(await buffer);
console.log(font);
// if not running in async context:
buffer.then(data => {
const font = opentype.parse(data);
console.log(font);
})