מידע: גופן ומדדים lfHeight השתמש שלילי

כתב ויתור על תוכן KB שהוצא משימוש

מאמר זה נכתב על מוצרים ש- Microsoft כבר לא תומכת בהם. לכן, מאמר זה מוצע "כפי שהוא" והוא לא יעודכן עוד.

סיכום

האיורים הבאים מציגים הנפוץ ביותר גופן מדדים, לרבות גובה תווים, נבחר עם ערכים שליליים של כל איור מלווה על-ידי הערות המתארות את המדדים.
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

O O
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

/\
/ \
/ \
_ _ _ _ _ _ _ _ _ /______\ _ _ _ ___ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/ \ / \|
/ \ | |
_ _ _ _ _ _ _ _ /_ _ _ _ _ _ \ _ \___/| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
|
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\___/_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
|- External Leading
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _
|
O O |- Internal Leading
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _
| /\
| / \
| / \
| /______\ _ _ _ ___ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Char Height -| / \ / \|
| / \ | |
| /_ _ _ _ _ _ \ _ \___/| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
| |
| |
_ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _\___/_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

| |
| O O |
| |
| /\ |
| / \ |
| / \ |- Ascent
Cell Height -| /______\ ___ |
| / \ / \| |
| / \ | | |
| /_ _ _ _ _ _ \ _ \___/| _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _
| | |
| | |- Descent
_ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _\___/_ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _

גובה התא

זהו גובה נבחרת בתפריט lfHeight חיובי ב- LOGFONT. הוא הגובה של מפת סיביות של גופן עבור גופני סריקה. היא מוחזרת כ tmHeight במבנה TEXTMETRIC מ- GetTextMetrics().

גובה תווים (המכונה גם Em)

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


הערה: על פי ההגדרה, Em הוא שווה לגובה התא פחות מובילים פנימית. Em מגדיר את הגודל בנקודות של הגופן. במצב מיפוי MM_TEXT, Em קשורה בנקודות כדלקמן:

   Em=dpiY*point_size/72;  // where dpiY is dots per inch in Y direction
DpiY של גופן הוא שווה ל- tmDigitizedAspectY במבנה TEXTMETRICS .

ריווח שורות פנימית

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

ריווח שורות חיצוני

פעולה זו מוחזרת כמספר tmExternalLeading במבנה TEXTMETRIC מ- GetTextMetrics() ומתאר כמה שטח נוסף מעצב הגופן מצפה היישום שיש להשאיר בין שורות של הגופן. היא אינה כלולה במפת הסיביות ולא השתנה על-ידי TextOut()/ExtTextOut(), אפילו במצב אטום. כשאתה יוצר פלט של שורות מרובות של טקסט, יש להפריד את השורות על-ידי (tmHeight + tmExternalLeading).

 Character Width                       Character Width
| |
|-------------| |-------------|
| | / / |
| | / / |
| | / / |
| | / / |
|----------| /----------/ |
| | / / |
| | / / |
| | / / |
| | / / |
|________|
|_____________| |_____________| |
| | Overhang
Character width Character width
(including white space) (including white space)
Overhang = 0 Overhang > 0

החריגה

tmOverhang מציין לכל מחרוזת רוחב נוספים עשויים להתווסף חלק מהגופנים מסונתז. כאשר synthesizing תכונות מסוימות, כגון מודגש או נטוי, GDI או התקן ייתכן שיהיה עליך להוסיף רוחב למחרוזת בשני לכל תו לבין בסיס לכל מחרוזת. לדוגמה, GDI משלב embolding על-ידי הרחבת המרווח intercharacter ו- overstriking עם היסט ו הטיית גופן על-ידי הטיית המחרוזת.


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


לקבלת מידע נוסף, בדוק את הנושאים הבאים בהפניה ערכת פיתוח תוכנה של Windows:


  • CreateFont() (ב- 1 אמצעי אחסון של הפניה גירסה 3.0)
  • TEXTMETRIC (ב- 2 אמצעי אחסון של הפניה גירסה 3.0)
מאפיינים:

מזהה פריט: 32667 - סקירה אחרונה: 17 בינו׳ 2017 - תיקון: 1

משוב