1. สินค้า
  2.   Font
  3.   .NET
  4.   ฟอนต์
 
  

ไลบรารี 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 แบบโอเพนซอร์ส.

Previous Next

เริ่มต้นกับฟอนต์

วิธีที่แนะนำในการติดตั้ง 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);
}
 ไทย