Anda sedang offline saat ini, menunggu internet Anda untuk menyambung kembali

Windows Pengembang Catatan: Format Font-File

PENTING: Artikel ini diterjemahkan oleh perangkat lunak penerjemahan mesin Microsoft, dan mungkin telah diedit oleh Masyarakat Microsoft melalui teknologi CTF dan bukan oleh seorang penerjemah profesional. Microsoft menawarkan baik artikel yang diterjemahkan oleh manusia maupun artikel hasil editan terjemahan oleh mesin/komunitas, sehingga Anda dapat mengakses semua artikel di Sentra Pengetahuan yang kami miliki dalam berbagai bahasa. Namun artikel hasil editan mesin atau bahkan komunitas tidak selalu sempurna. Artikel ini dapat mengandung kesalahan dalam hal kosa kata, sintaksis atau tatabahasa, sangat mirip dengan penutur asing yang membuat kekeliruan ketika berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab atas ketidakakuratan, kesalahan atau kerugian apa pun akibat dari kekeliruan dalam penerjemahan isi atau penggunaannya oleh pelanggan kami. Microsoft juga akan senantiasa memperbarui perangkat lunak penerjemahan mesin dan alat untuk menyempurnakan Editan Hasil Penerjemahan Mesin.

Klik disini untuk melihat versi Inggris dari artikel ini: 65123
Sanggahan Konten KB yang Tidak Lagi Diperbarui
Artikel ini berisi tentang produk yang tidak lagi didukung oleh Microsoft. Oleh karena itu, artikel ini disajikan “sebagaimana adanya” dan tidak akan diperbarui.
Ringkasan
Artikel ini adalah bagian dari serangkaian artikel tujuh, secara kolektif disebut"Windows pengembang catatan." Informasi lebih lanjut tentang isiArtikel lain dapat ditemukan di artikel Pangkalan Pengetahuan Microsoft:
65260Windows pengembang catatan
Informasi lebih lanjut
Berkas berikut tersedia untuk di-download dari MicrosoftPusat Download:


FontFmt.exe

Untuk informasi tambahan tentang cara men-download file Microsoft Support, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
119591 Cara mendapatkan berkas dukungan Microsoft dari Layanan Online
Microsoft memindai berkas untuk virus. Microsoft menggunakan peranti penangkap lunak pendeteksi virus terbaru yang tersedia pada tanggal yang file telah diposting. Berkas tersebut disimpan pada server aman yang membantu mencegah segala perubahan tidak sah terhadap berkas.

Format untuk Microsoft Windows font file ditentukan untuk kedua rasterdan vektor font. Format ini dapat digunakan oleh cerdas teks Generatordi beberapa modul dukungan GDI. Format vektor, khususnya, adalahlebih sering digunakan oleh GDI sendiri daripada oleh dukungan modul.

Raster dan vektor font file dimulai dengan informasi yangumum untuk keduanya, dan kemudian melanjutkan dengan informasi yang berbeda untukSetiap jenis file.

Untuk Windows 3.0, header font file termasuk enam baru bidang:dFlags, dfAspace, dfBspace, dfCspace, dfColorPointer, dan dfReserved1.Bidang ini tidak digunakan dalam Windows 3.0. Untuk memastikan kompatibilitas mundurdengan versi Windows, bidang ini harus diatur ke nol.

Semua driver peranti penangkap mendukung Windows 2.x font. Namun, tidak semuadevice driver mendukung versi Windows 3.0.

File font Windows 3.0 menyertakan Daftar Tabel mesin terbang di dfCharTable, yangterdiri dari struktur yang menggambarkan bit untuk karakter dalamfont file. Versi ini memungkinkan font untuk melebihi 64K dalam ukuran, ukuranbatas Windows 2.x font. Hal ini dimungkinkan dengan menggunakan 32-bitoffset untuk karakter mesin terbang di dfCharTable.

Karena offset 32-bit dan ukurannya yang berpotensi besar, inifont dirancang untuk digunakan pada sistem yang menjalankan versi Windows3.0 di dilindungi (standar atau 386 ditingkatkan) mode dengan 80386 (ataumana Register 32-bit prosesor dapat mengakses prosesor yang lebih tinggi)karakter mesin terbang. Biasanya, device drivers menggunakan Windows 3.0Versi font hanya ketika kedua kondisi ini benar.

Font file disimpan dengan.FNT ekstensi bentuk nama.FNT. Theinformasi pada awal versi raster dan vektorFile font Windows 3.0 akan ditampilkan dalam daftar berikut:
Field          Description-----          -----------dfVersion      2 bytes specifying the version (0200H or 0300H) of               the file.dfSize         4 bytes specifying the total size of the file in               bytes.dfCopyright    60 bytes specifying copyright information.dfType         2 bytes specifying the type of font file.               The low-order byte is exclusively for GDI use. If the               low-order bit of the WORD is zero, it is a bitmap               (raster) font file. If the low-order bit is 1, it is a               vector font file. The second bit is reserved and must               be zero. If no bits follow in the file and the bits are               located in memory at a fixed address specified in               dfBitsOffset, the third bit is set to 1; otherwise, the               bit is set to 0 (zero). The high-order bit of the low               byte is set if the font was realized by a device. The               remaining bits in the low byte are reserved and set to               zero.               The high byte is reserved for device use and will               always be set to zero for GDI-realized standard fonts.               Physical fonts with the high-order bit of the low byte               set may use this byte to describe themselves. GDI will               never inspect the high byte.dfPoints       2 bytes specifying the nominal point size at which               this character set looks best.dfVertRes      2 bytes specifying the nominal vertical resolution               (dots-per-inch) at which this character set was               digitized.dfHorizRes     2 bytes specifying the nominal horizontal resolution               (dots-per-inch) at which this character set was               digitized.dfAscent       2 bytes specifying the distance from the top of a               character definition cell to the baseline of the               typographical font. It is useful for aligning the               baselines of fonts of different heights.dfInternalLeading               Specifies the amount of leading inside the bounds set               by dfPixHeight. Accent marks may occur in this area.               This may be zero at the designer's option.dfExternalLeading               Specifies the amount of extra leading that the designer               requests the application add between rows. Since this               area is outside of the font proper, it contains no               marks and will not be altered by text output calls in               either the OPAQUE or TRANSPARENT mode. This may be zero               at the designer's option.dfItalic       1 (one) byte specifying whether or not the character               definition data represent an italic font. The low-order               bit is 1 if the flag is set. All the other bits are               zero.dfUnderline    1 byte specifying whether or not the character               definition data represent an underlined font. The               low-order bit is 1 if the flag is set. All the other               bits are 0 (zero).dfStrikeOut    1 byte specifying whether or not the character               definition data represent a struckout font. The low-               order bit is 1 if the flag is set. All the other bits               are zero.dfWeight       2 bytes specifying the weight of the characters in the               character definition data, on a scale of 1 to 1000. A               dfWeight of 400 specifies a regular weight.dfCharSet      1 byte specifying the character set defined by this               font.dfPixWidth     2 bytes. For vector fonts, specifies the width of the               grid on which the font was digitized. For raster fonts,               if dfPixWidth is nonzero, it represents the width for               all the characters in the bitmap; if it is zero, the               font has variable width characters whose widths are               specified in the dfCharTable array.dfPixHeight    2 bytes specifying the height of the character bitmap               (raster fonts), or the height of the grid on which a               vector font was digitized.dfPitchAndFamily               Specifies the pitch and font family. The low bit is set               if the font is variable pitch. The high four bits give               the family name of the font. Font families describe in               a general way the look of a font. They are intended for               specifying fonts when the exact face name desired is               not available. The families are as follows:                  Family               Description                  ------               -----------                  FF_DONTCARE (0<<4)   Don't care or don't know.                  FF_ROMAN (1<<4)      Proportionally spaced fonts                                       with serifs.                  FF_SWISS (2<<4)      Proportionally spaced fonts                                       without serifs.                  FF_MODERN (3<<4)     Fixed-pitch fonts.                  FF_SCRIPT (4<<4)                  FF_DECORATIVE (5<<4)dfAvgWidth     2 bytes specifying the width of characters in the font.               For fixed-pitch fonts, this is the same as dfPixWidth.               For variable-pitch fonts, this is the width of the               character "X."dfMaxWidth     2 bytes specifying the maximum pixel width of any               character in the font. For fixed-pitch fonts, this is               simply dfPixWidth.dfFirstChar    1 byte specifying the first character code defined by               this font. Character definitions are stored only for               the characters actually present in a font. Therefore,               use this field when calculating indexes into either               dfBits or dfCharOffset.dfLastChar     1 byte specifying the last character code defined by               this font. Note that all the characters with codes               between dfFirstChar and dfLastChar must be present in               the font character definitions.dfDefaultChar  1 byte specifying the character to substitute               whenever a string contains a character out of the               range. The character is given relative to dfFirstChar               so that dfDefaultChar is the actual value of the               character, less dfFirstChar. The dfDefaultChar should               indicate a special character that is not a space.dfBreakChar    1 byte specifying the character that will define word               breaks. This character defines word breaks for word               wrapping and word spacing justification. The character               is given relative to dfFirstChar so that dfBreakChar is               the actual value of the character, less that of               dfFirstChar. The dfBreakChar is normally (32 -               dfFirstChar), which is an ASCII space.dfWidthBytes   2 bytes specifying the number of bytes in each row of               the bitmap. This is always even, so that the rows start               on WORD boundaries. For vector fonts, this field has no               meaning.dfDevice       4 bytes specifying the offset in the file to the string               giving the device name. For a generic font, this value               is zero.dfFace         4 bytes specifying the offset in the file to the               null-terminated string that names the face.dfBitsPointer  4 bytes specifying the absolute machine address of               the bitmap. This is set by GDI at load time. The               dfBitsPointer is guaranteed to be even.dfBitsOffset   4 bytes specifying the offset in the file to the               beginning of the bitmap information. If the 04H bit in               the dfType is set, then dfBitsOffset is an absolute               address of the bitmap (probably in ROM).               For raster fonts, dfBitsOffset points to a sequence of               bytes that make up the bitmap of the font, whose height               is the height of the font, and whose width is the sum               of the widths of the characters in the font rounded up               to the next WORD boundary.               For vector fonts, it points to a string of bytes or               words (depending on the size of the grid on which the               font was digitized) that specify the strokes for each               character of the font. The dfBitsOffset field must be               even.dfReserved     1 byte, not used.dfFlags        4 bytes specifying the bits flags, which are additional               flags that define the format of the Glyph bitmap, as               follows:               DFF_FIXED            equ  0001h ; font is fixed pitch               DFF_PROPORTIONAL     equ  0002h ; font is proportional                                               ; pitch               DFF_ABCFIXED         equ  0004h ; font is an ABC fixed                                               ; font               DFF_ABCPROPORTIONAL  equ  0008h ; font is an ABC pro-                                               ; portional font               DFF_1COLOR           equ  0010h ; font is one color               DFF_16COLOR          equ  0020h ; font is 16 color               DFF_256COLOR         equ  0040h ; font is 256 color               DFF_RGBCOLOR         equ  0080h ; font is RGB colordfAspace       2 bytes specifying the global A space, if any. The               dfAspace is the distance from the current position to               the left edge of the bitmap.dfBspace       2 bytes specifying the global B space, if any. The               dfBspace is the width of the character.dfCspace       2 bytes specifying the global C space, if any. The               dfCspace is the distance from the right edge of the               bitmap to the new current position. The increment of a               character is the sum of the three spaces. These apply               to all glyphs and is the case for DFF_ABCFIXED.dfColorPointer               4 bytes specifying the offset to the color table for               color fonts, if any. The format of the bits is similar               to a DIB, but without the header. That is, the               characters are not split up into disjoint bytes.               Instead, they are left intact. If no color table is               needed, this entry is NULL.               [NOTE: This information is different from that in the               hard-copy Developer's Notes and reflects a correction.]dfReserved1    16 bytes, not used.               [NOTE: This information is different from that in the               hard-copy Developer's Notes and reflects a correction.]dfCharTable    For raster fonts, the CharTable is an array of entries               each consisting of two 2-byte WORDs for Windows 2.x and               three 2-byte WORDs for Windows 3.0. The first WORD of               each entry is the character width. The second WORD of               each entry is the byte offset from the beginning of the               FONTINFO structure to the character bitmap. For Windows               3.0, the second and third WORDs are used for the               offset.               There is one extra entry at the end of this table that               describes an absolute-space character. This entry               corresponds to a character that is guaranteed to be               blank; this character is not part of the normal               character set.               The number of entries in the table is calculated as               ((dfLastChar - dfFirstChar) + 2). This includes a               spare, the sentinel offset mentioned in the following               paragraph.               For fixed-pitch vector fonts, each 2-byte entry in this               array specifies the offset from the start of the bitmap               to the beginning of the string of stroke specification               units for the character. The number of bytes or WORDs               to be used for a particular character is calculated by               subtracting its entry from the next one, so that there               is a sentinel at the end of the array of values.               For proportionally spaced vector fonts, each 4-byte               entry is divided into two 2-byte fields. The first               field gives the starting offset from the start of the               bitmap of the character strokes. The second field gives               the pixel width of the character.<facename>     An ASCII character string specifying the name of the               font face. The size of this field is the length of the               string plus a NULL terminator.<devicename>   An ASCII character string specifying the name of the               device if this font file is for a specific device. The               size of this field is the length of the string plus a               NULL terminator.<bitmaps>      This field contains the character bitmap definitions.               Each character is stored as a contiguous set of bytes.               (In the old font format, this was not the case.)               The first byte contains the first 8 bits of the first               scanline (that is, the top line of the character). The               second byte contains the first 8 bits of the second               scanline. This continues until a first "column" is               completely defined.               The following byte contains the next 8 bits of the               first scanline, padded with zeros on the right if               necessary (and so on, down through the second               "column"). If the glyph is quite narrow, each scanline               is covered by 1 byte, with bits set to zero as               necessary for padding. If the glyph is very wide, a               third or even fourth set of bytes can be present.                  NOTE: The character bitmaps must be stored                  contiguously and arranged in ascending order.               The following is a single-character example, in which               are given the bytes for a 12 x 14 pixel character, as               shown here schematically.                  ............                  .....**.....                  ....*..*....                  ...*....*...                  ..*......*..                  ..*......*..                  ..*......*..                  ..********..                  ..*......*..                  ..*......*..                  ..*......*..                  ............                  ............                  ............               The bytes are given here in two sets, because the               character is less than 17 pixels wide.                  00 06 09 10 20 20 20 3F 20 20 20 00 00 00                  00 00 00 80 40 40 40 C0 40 40 40 00 00 00               Note that in the second set of bytes, the second digit               of each is always zero. It would correspond to the 13th               through 16th pixels on the right side of the character,               if they were present.				
Windows versi 2.x dfCharTable memiliki struktur GlyphEntry denganformat berikut:
GlyphEntry    strucgeWidth       dw     ?    ; width of character bitmap in pixelsgeOffset      dw     ?    ; pointer to the bitsGlyphEntry    ends				
Versi Windows 3.0 dfCharTable tergantung pada formatdari Glyph bitmap.

Catatan: Format hanya didukung dalam Windows 3.0 akan DFF_FIXED dan DFF_PROPORTIONAL.

DFF_FIXED
DFF_PROPORTIONAL
GlyphEntry    strucgeWidth       dw     ?    ; width of character bitmap in pixelsgeOffset      dd     ?    ; pointer to the bitsGlyphEntry    ends				
DFF_ABCFIXED
DFF_ABCPROPORTIONAL
GlyphEntry    strucgeWidth       dw     ?   ; width of character bitmap in pixelsgeOffset      dd     ?   ; pointer to the bitsgeAspace      dd     ?   ; A space in fractional pixels (16.16)geBspace      dd     ?   ; B space in fractional pixels (16.16)geCspace      dw     ?   ; C space in fractional pixels (16.16)GlyphEntry    ends				
Pixel pecahan dinyatakan sebagai angka 32-bit ditandatangani denganimplisit biner titik antara bit 15 dan 16. Hal ini disebut sebagai16.16 ("enam belas dot enam belas") Fixed-Point mengubah nomor.

ABC spasi di sini adalah sama seperti yang didefinisikan di atas. Namun, di siniada set tertentu untuk setiap karakter.

DFF_1COLOR
DFF_16COLOR
DFF_256COLOR
DFF_RGBCOLOR
GlyphEntry    strucgeWidth       dw     ?   ; width of character bitmap in pixelsgeOffset      dd     ?   ; pointer to the bitsgeHeight      dw     ?   ; height of character bitmap in pixelsgeAspace      dd     ?   ; A space in fractional pixels (16.16)geBspace      dd     ?   ; B space in fractional pixels (16.16)geCspace      dd     ?   ; C space in fractional pixels (16.16)GlyphEntry    ends				
DFF_1COLOR berarti 8 pixel per byte
DFF_16COLOR berarti 2 pixel per byte
DFF_256COLOR berarti 1 pixel per byte
DFF_RGBCOLOR berarti RGBquads

Microsoft adalah merek dagang terdaftar dan Windows adalah merek dagang dariMicrosoft Corporation.

Peringatan: Artikel ini telah diterjemahkan secara otomatis

Properti

ID Artikel: 65123 - Tinjauan Terakhir: 05/30/2013 03:49:00 - Revisi: 3.0

Microsoft Windows Software Development Kit 3.0, Microsoft Windows Software Development Kit 3.1

  • kbfile kbuser kbmt KB65123 KbMtid
Tanggapan
/javascript"> Asimov.clickstreamTracker.init(); >