ไลบรารี C# .NET ฟรีสำหรับการโหลด, อ่านและวาดฟอนต์
ไลบรารี C# .NET แบบโอเพ่นซอร์สสำหรับการโหลด, อ่านและวาดฟอนต์หลายประเภท เช่น TrueType, CFF, Woff, Woff2 และอื่น ๆ อีกมากมาย
เมื่อพูดถึงการทำงานกับฟอนต์แบบโปรแกรมเมอร์ นักพัฒนาซอฟต์แวร์มักต้องการเครื่องมือและไลบรารีที่แข็งแรงเพื่อจัดการกับการดำเนินการที่เกี่ยวกับฟอนต์หลายประเภท ไลบรารีโอเพ่นซอร์สที่ทรงพลังและได้รับความนิยมในหมู่นักพัฒนาคือ SixLabors Fonts library. Fonts เป็นไลบรารี C# .NET แบบโอเพ่นซอร์สที่มีประโยชน์อย่างยิ่ง ซึ่งให้ชุดฟังก์ชันที่ครอบคลุมสำหรับการทำงานกับฟอนต์หลายประเภทภายในแอปพลิเคชัน C#. พัฒนาโดยทีม Six Labors, ไลบรารี Fonts มีเป้าหมายเพื่อทำให้การจัดการฟอนต์ง่ายขึ้นและช่วยให้นักพัฒนาสามารถทำงานกับแบบอักษรได้อย่างโปรแกรมเมอร์ ไม่ว่าจะต้องการโหลด, เรนเดอร์, วัดขนาด หรือปรับแต่งฟอนต์ ไลบรารี Fonts มี API ที่สะอาดและใช้งานง่ายสำหรับการดำเนินการทั้งหมดเหล่านี้.
ไลบรารี Fonts แบบโอเพนซอร์สให้คุณสมบัติมากมายสำหรับการจัดการและปรับแต่งฟอนต์ ช่วยให้นักพัฒนาซอฟต์แวร์สร้างองค์ประกอบข้อความที่เป็นเอกลักษณ์และสวยงามในแอปพลิเคชันของตน มีคุณสมบัติสำคัญหลายอย่างเป็นส่วนหนึ่งของไลบรารี เช่น การโหลดฟอนต์จากแหล่งต่าง ๆ (เส้นทาง, สตรีม, หรือทรัพยากรฝัง), ความสามารถในการเรนเดอร์ glyph คุณภาพสูง, การจัดวางและจัดแนวข้อความอย่างแม่นยำ, การจัดการข้อความ Unicode, การจัดฟอนต์เป็นคอลเลกชัน และอื่น ๆ อีกมากมาย.
ไลบรารี Fonts ถูกสร้างบน .NET Standard ทำให้เข้ากันได้กับหลายแพลตฟอร์มและเฟรมเวิร์ก รวมถึง .NET Core, .NET Framework, Xamarin, และ Mono ไลบรารีนี้มี API ที่เรียบง่ายและใช้งานง่าย ทำให้เข้าถึงได้สำหรับนักพัฒนาทุกระดับ ไม่ว่าคุณจะสร้างแอปพลิเคชันเดสก์ท็อป, เว็บเซอร์วิส, หรือแอปมือถือ ไลบรารี Fonts จะให้พื้นฐานที่มั่นคงสำหรับความต้องการการจัดการฟอนต์ทั้งหมดของคุณ ดังนั้นลองใช้และเปิดโลกของฟอนต์สร้างสรรค์ในแอปของคุณด้วยไลบรารี Fonts แบบโอเพนซอร์ส.
เริ่มต้นกับฟอนต์
วิธีที่แนะนำในการติดตั้ง Fonts คือการใช้ NuGet. โปรดใช้คำสั่งต่อไปนี้เพื่อการติดตั้งที่ราบรื่น.
ติดตั้งฟอนต์ผ่าน NuGet
PM > Install-Package SixLabors.Fonts –PreRelease
คุณยังสามารถติดตั้งด้วยตนเองได้; ดาวน์โหลดไฟล์เวอร์ชันล่าสุดโดยตรงจากที่เก็บ GitHub repository.
โหลดและอ่านรายละเอียดฟอนต์ในแอป C#
ไลบรารี Fonts แบบโอเพนซอร์สช่วยให้นักพัฒนาซอฟต์แวร์สามารถโหลดฟอนต์หลายประเภทและแสดงรายละเอียดครบถ้วนภายในแอปพลิเคชัน C#. ไลบรารีนี้รองรับการโหลดฟอนต์จากแหล่งต่าง ๆ รวมถึงเส้นทางไฟล์, สตรีม, แหล่งทรัพยากรฝังและอื่น ๆ ความยืดหยุ่นนี้ทำให้นักพัฒนาสามารถผสานการโหลดฟอนต์เข้ากับแอปพลิเคชันของตนได้อย่างราบรื่น ไลบรารีสนับสนุนการทำงานกับฟอนต์ TrueType, ฟอนต์ OpenType ที่มีโครงร่าง CFF1, Woff, Woff2 เป็นต้น ตัวอย่างต่อไปนี้แสดงวิธีอ่านคำอธิบายเกี่ยวกับฟอนต์ TTF ด้วยคำสั่ง C#.
วิธีอ่านคำอธิบายฟอนต์โดยใช้ C# API?
FontDescription description = null;
using(var fs = File.OpenRead("Font.ttf")){
description = FontDescription.Load(fs); // once it has loaded the data the stream is no longer required and can be disposed of
}
string name = description.FontName(CultureInfo.InvariantCulture);
การสนับสนุนคอลเลกชันฟอนต์ผ่าน C#
ไลบรารีโอเพนซอร์ส Fonts ช่วยให้นักพัฒนาซอฟต์แวร์จัดการฟอนต์เป็นคอลเลกชัน ทำให้การจัดการและสลับระหว่างฟอนต์แฟมิลีและสไตล์ต่าง ๆ ง่ายขึ้น เพียงไม่กี่บรรทัดของโค้ด นักพัฒนาสามารถสร้างคอลเลกชันฟอนต์แบบกำหนดเองได้ ไลบรารีนี้ยังรองรับคุณลักษณะขั้นสูงของ OpenType เช่น การแทนที่ glyph (GSUB) และการจัดตำแหน่ง glyph (GPOS) อีกด้วย ตัวอย่างต่อไปนี้แสดงวิธีที่นักพัฒนาสามารถทำงานกับคอลเลกชันฟอนต์ในแอปพลิเคชัน C#
วิธีทำงานกับคอลเลกชัน sFont ผ่านโค้ด C#
using SixLabors.Fonts;
FontCollection collection = new();
collection.Add("path/to/font.ttf");
collection.Add("path/to/font2.ttf");
collection.Add("path/to/emojiFont.ttf");
collection.AddCollection("path/to/font.ttc");
if(collection.TryFind("Font Name", out FontFamily family))
if(collection.TryFind("Emoji Font Name", out FontFamily emojiFamily))
{
// family will not be null here
Font font = family.CreateFont(12, FontStyle.Italic);
// TextOptions provides comprehensive customization options support
TextOptions options = new(font)
{
// Will be used if a particular code point doesn't exist in the font passed into the constructor. (e.g. emoji)
FallbackFontFamilies = new [] { emojiFamily }
};
FontRectangle rect = TextMeasurer.Measure("Text to measure", options);
}