ΠΛΗΡΟΦΟΡΙΕΣ: Μετρική γραμματοσειράς και η χρήση αρνητικών lfHeight

Αποποίηση ευθυνών για περιεχόμενο της Γνωσιακής βάσης που έχει αποσυρθεί

Αυτό το άρθρο αφορά προϊόντα για τα οποία η Microsoft δεν παρέχει πλέον υποστήριξη. Συνεπώς, το παρόν άρθρο παρέχεται "ως έχει" και δεν θα ενημερώνεται πλέον.

Σύνοψη

Στις παρακάτω εικόνες εμφανίζονται τα πιο συνηθισμένα γραμματοσειράς που ακολουθείται από τις σημειώσεις που περιγράφει τα μετρικά μετρήσεις, συμπεριλαμβανομένου του χαρακτήρα ύψος, το οποίο επιλέγεται με αρνητικές τιμές κάθε εικόνα.
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

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

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

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

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

Ύψος κελιού

Αυτό είναι το ύψος που έχει επιλεγεί στη θετική lfHeight στο το LOGFONT. Είναι το ύψος του bitmap γραμματοσειρά για γραμματοσειρές raster. Επιστρέφεται ως 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() και συχνά, αλλά όχι απαραίτητα, περιγράφει πόσος χώρος έχει παραμείνει μέσα το bitmap γραμματοσειράς για ορθογραφικά σημάδια (τόνους).

Εξωτερική διάστιχο

Αυτό επιστρέφεται ως tmExternalLeading στη δομή TEXTMETRIC από GetTextMetrics() και περιγράφει πόσο επιπλέον διάστημα σχεδιαστής αναμένει την εφαρμογή για να αφήσετε μεταξύ γραμμών της γραμματοσειράς. Δεν περιλαμβάνεται στο bitmap και δεν έχει τροποποιηθεί από 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 - Τελευταία αναθεώρηση: 10 Ιαν 2017 - Αναθεώρηση: 1

Σχόλια