1. מוצרים
  2.   Font
  3.   .NET
  4.   גופנים
 
  

ספרייה חינמית C# .NET לטעינת, קריאת ועיצוב גופנים

ספרייה בקוד פתוח C# .NET לטעינה, קריאה ועיצוב של סוגים שונים של גופנים כגון TrueType, CFF, Woff, Woff2 ועוד רבים.

כאשר מדובר בעבודה עם גופנים באופן תכנותי, מפתחים לעיתים קרובות זקוקים לכלים וספריות חזקים כדי להתמודד עם מגוון פעולות הקשורות לגופנים. אחת הספריות הקוד הפתוח החזקות שזכתה לפופולריות בקרב המפתחים היא ספריית SixLabors Fonts. Fonts היא ספריית קוד פתוח מאוד שימושית ב‑C# .NET המספקת סט מקיף של פונקציונליות לעבודה עם סוגי גופנים שונים בתוך יישומי C#. הספרייה פותחה על ידי צוות Six Labors, ומטרתה לפשט משימות טיפול בגופנים ולהקל על המפתחים לעבוד עם סוגי אותות באופן תכנותי. בין אם המשתמשים צריכים לטעון, לרנדר, למדוד או לשנות גופנים, ספריית Fonts מציעה API נקי ואינטואיטיבי לכל הפעולות הללו.

הספרייה הפתוחה של גופנים מספקת מספר תכונות למניפולציה והתאמה של גופנים, מאפשרת למפתחי תוכנה ליצור אלמנטים טקסט ייחודיים ומושכי חזותית בתוך היישומים שלהם. ישנן מספר תכונות חשובות כחלק מהספרייה, כגון טעינת גופנים ממקורות שונים (נתיבים, זרמים, או משאבים משובצים), יכולות רינדור גליפים באיכות גבוהה, ביצוע פריסת טקסט מדויקת ויישור, טיפול בטקסט Unicode, ארגון גופנים באוספים ועוד רבים.

הספרייה Fonts נבנתה על .NET Standard, מה שהופך אותה לתואמת עם פלטפורמות ומסגרות מרובות, כולל .NET Core, .NET Framework, Xamarin ו‑Mono. הספרייה מציעה API פשוט ואינטואיטיבי, מה שהופך אותה לנגישה למפתחים ברמות מיומנות שונות. בין אם אתה בונה יישום שולחני, שירות אינטרנט או אפליקציית מובייל, ספריית Fonts מספקת בסיס איתן לכל צורכי ניהול הגופנים שלך. לכן, נסה אותה ופתח את עולם הגופנים היצירתיים ביישומים שלך עם ספריית Fonts בקוד פתוח.

Previous Next

התחלת עבודה עם גופנים

הדרך המומלצת להתקנת הפונטים היא באמצעות NuGet. אנא השתמשו בפקודה הבאה להתקנה חלקה.

התקנת גופנים באמצעות NuGet

 PM > Install-Package SixLabors.Fonts –PreRelease

ניתן גם להתקין זאת ידנית; הורידו את קבצי השחרור האחרונים ישירות ממאגר GitHub.

טעינה & קריאת פרטי גופן בתוך אפליקציות C#

הספרייה הפתוחה של הפונטים מאפשרת למפתחי תוכנה לטעון סוגים שונים של פונטים ולהציג את כל הפרטים שלהם בתוך יישומי C#. הספרייה תומכת בטעינת פונטים ממקורות שונים, כולל נתיבי קבצים, זרמים, משאבים משובצים ועוד. גמישות זו מאפשרת למפתחים לשלב בצורה חלקה טעינת פונטים באפליקציות שלהם. הספרייה תומכת בעבודה עם פונטים בפורמט TrueType, פונטים בפורמט OpenType עם קווי מתאר CFF1, Woff, Woff2 וכן הלאה. הדוגמה הבאה מציגה כיצד לקרוא את התיאור של פונט TTF באמצעות פקודות C#.

איך לקרוא תיאור גופן באמצעות API של C#?

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 כגון החלפת גליפים (GSUB) ומיקום גליפים (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);
}
 עִברִית