POSTSCRIPT font format - CID-KEYED

The POSTscript language is the de facto standard for desktop prepress page descriptions and the common language for open systems. The POSTscript font is actually a program described by the POSTscript language. In general, the POSTscript-enabled RIP supports the POSTscript font program at the same time, and thus the POSTXCRIPT font has been widely used in the prepress system. However, due to the origin and development of POSTscript in the United States, the description of fonts can only support Western-coded small character sets (that is, less than 256 character codes) for a long time. Large character sets such as Chinese, Japanese, and Korean are examples. Can not provide direct support, people can only split the large character set font library into several small character set fonts, and then use TYPE 0 format.
Although this can find double-byte characters, it is a waste of system resources and reduces the RIP branch efficiency. This situation was resolved after ADOBE announced a new POSTscript font format, CID-KEYED. A CID - KEYED font actually consists of at least two files, one of which is a file called a CMAP resource that is responsible for encoding a large character set, and the character outline data for a quilt is stored in another file called a CIDFONT resource. in. CID - KEYED is a POSTscript font format that really supports large character set encoding.
First, POSTscript font format POSTscript language description fonts are divided into many types according to the use and contour data formats, such as: TYPE 0, TYPE 1, TYPE 2, TYPE 3, TYPE 4, TYPE 5, TYPE 42 and so on. Here we first introduce the TYPE 1, TYPE 3, TYPE 42 and TYPE 0 font formats related to the CID-KEYED font.
TYPE 1 is currently the most widely used POSTscript font format. It is also the basis of some other font formats. A TYPE 1 font program consists of two parts, one part is the plain text part of ASCII code (CLEAR TEXT) written in POSTscript language, and the other is One part is encoded and encrypted (ENCODED AND ENCRYPTED).
The process of constructing a TYPE 1 font program is the process of constructing a special type of dictionary, the dictionary of fonts. In the plain text part, the font name, copyright, version information encoding table, etc. are given, and the ciphertext part contains the CHARSTRING dictionary and PRIVATE dictionary indispensable for each TYPE 1 font library. The purpose of ENCODING is to increase the efficiency of the TYPE 1 interpreter. The purpose of ENCRYPTING is to protect the interests of the font program developers so that the character outline data is not abused.
The POSTscript interpreter can over-tune a process named TYPE 1 BUILD GLYPH to read the TYPE 1 font. This process firstly searches the ENCODING entry in the font dictionary according to the character code to obtain the character name corresponding to this character code, and then searches the CHARSTRING dictionary of the font dictionary according to the character name to find the contour data corresponding to the character name and puts the string. The data is drawn (or filled or contoured) to complete the character creation process. This process is shown in Figure 1.
The TYPE 3 font library is similar to the TYPE 1 structure in that it only has one more process in the ciphertext part than the TYPE 1 font library, and functions similarly to BUILDGLYPH in the TYPE 1 described above. The BUILDGLYPH procedure for TYPE 1 is provided by the interpreter, which requires that the format of the TYPE 1 outline data conform to the uniform specification. In the TYPE 3 font library, the font creator himself gives the character creation process, and the format of the outline data can also be customized.
TYPE 42 is the TRUE TYPE font format "wrapped" by the POST script. TRUE TYPE font is a curved font technology that WINDOWS and MACINTOSH support at the same time in the operating system. It is a very common curved font format used by office systems and ordinary users. In addition to the fact that the font structure is completely different from the POST script font, it also uses a different method for character outline description. TYPE 1 uses a three-time BEZIER curve to describe character outlines in combination with straight lines, while TRUE TYPE uses a combination of quadratic B-spline curves and straight lines. Although some applications can implement the function of converting a TRUE TYPE font to a TYPE 1 font, this conversion is inaccurate.
In view of the large number of users who use TRUE TYPE fonts, ADOBE defines a font format called TYPE 42. Its essence is TRUE TYPE. It only adds some POSTscript descriptions based on TRUE TYPE font files to help POSTscript RIP. Use TRUE TYPE fonts. The RIP that can interpret fonts in the TYPE 42 format actually contains a TRUE TYPE interpreter that can interpret the character outline data described by the quadratic B-spline.
There is an ENCODING entry in the full format of TYPE 1, TYPE 3, and TYPE 42 described above. Its role is to find the character name corresponding to it based on the character code, so as to find the character outline data, so that the ENCODING item starts The role of a middle bridge. Unfortunately, the ENCODING entry of the above three font formats allows only 256 entries at a maximum, which means that it can only encode single-byte characters and cannot directly support large character sets such as Chinese. In order to solve this problem, ADOBE company has introduced the TYPE 0 format.
The TYPE 0 font is actually a "composite" font, which is composed of some other fonts. The base font can be described using TYPE 1, TYPE 3, TYPE 42 and other font formats. When creating a character, it uses two bytes as a character encoding, the high byte is the base font number, and the low word cut is used to look for codes in the ENCODING entry of a base font. When we give a Chinese character encoding, the interpreter first finds its corresponding base font base on the first byte of the inner code, and then finds the outline data of the corresponding character based on the second byte of the inner code. For example, the "ah" word, whose inner code is OXBOA1, then the word should be in the base font corresponding to BO and is the character coded as A1 in the base font, thus completing the establishment of double-byte coded characters. One of the biggest disadvantages of the TYPE 0 format font library is that it consumes a lot of system resources. This is due to the fact that when loading a TYPE 0 font library, the FINDFONT operation is executed multiple times depending on the size of the base font library. The speed is very slow, and the returned font dictionary must occupy a lot of space. Memory is therefore not an ideal large character set font format.
Second, CID-KEYED font format 1, CID-KEYED font structure in the past POSTscript font format also can not support large character set font, mainly in the ENCODING entry can only have 256 items. To solve this problem, the only way is to abandon the use of ENDODING entries to search for code, the CID-KEYED font library is the case.
Unlike the previously defined POSTscript fonts in other formats, a CID-KEYED font consists of two parts, a CMAP file and at least one CIDFONT file. The role played by these two types of resource files when creating characters is illustrated in Figure 2.
The role of CMAP is to map the character code to a CID value (CID is actually an abbreviation of CHARACTER IDENTIFIER), similar to the function of the ENCONDING entry in TYPE 1.
CIDFONT records the contour data corresponding to a certain CID value. Figure 3 illustrates how the CID value obtained from CMAP finds its corresponding data in CIDFONT.
From Figure 3, we can see that a CIDFONT resource file consists of two major components. The first part is the POSTscript language program part, which includes a description of an overall message and a font dictionary array. The second data area consists of CIDMAP, SUBRMAP, SUBROUTINES, and CHARSTRING. The CIDMAP table provides which dictionary corresponds to a CID value and the corresponding data offset position, from which the outline data of the CID value can be found, and the method for creating this character is obtained from its font dictionary. At the same time, the offset position of the desired HINTING information can be obtained from the font dictionary.
There are three types of CIDFONT, see Table 1.
Different types have different data formats and use different character setup procedures. These three types of font resources are similar to the TYPE 1, TYPE 3, and TYPE 42 described earlier in this article. In use, the first part of CIDFONT is always loaded in the virtual memory (VM), and the second part with large data volume can be stored on the disk, and only when needed, it is transferred to the virtual memory, which is very reasonable in resource usage.
2, CMAP and CIDFONT use CMAP and CIDFONT are two separate types of files. A CMAP file can be matched with different CIDFONT files. Similarly, a CIDFONT file can also be used with different CMAP files to form a CID-KEYED font.
A CID-KEYED font consisting of a CMAP file and one or more CIDFONT files is actually a composite font, just like TYPE 0, except that the mechanism is completely different from TYPE 0. If a font developer develops many sets of CIDFONT, these CIDFONT fonts can share a CMAP if they have the same CID organization sequence. While the same CID organization order is easy and should be guaranteed for the same font developer. In this way, you can greatly save system resources.
ADOBE has created some CMAP resource files, including Chinese, Japanese, and Korean. Among them, there are GB-2312 horizontal and vertical CMAP files, and GBK-coded CMAP files will be immediately launched. They suggest that font publishers use these CMAP resource files, that is, the CIDFONT fonts are produced based on the correspondence between these CMAP character codes and CID values. This way, font libraries developed by different font developers all use the same CMAP resource file, which can save system resources to the maximum extent. .
In addition, when we use the same CIDFONT resource file on the same occasion, we can use the same method used with different CMAP files to make the same character code create different characters. For example, in Eastern languages ​​such as Chinese and Japanese, a CID value is mapped. According to this, the CID value created from CIDFONT will be a horizontal “[”. As shown in table 2.
From the above description, it can be seen that the CID-KEYED format is designed for large character sets and has a reasonable structure. Large character set fonts before the CID-KEYED format is also easily converted to this format, which is the preferred font format for POST script font manufacturers.

Artificial Flower Ball

Artificial Flower Ball,Silk Flower Arrangements ,Artificial Plants ,Artificial Wedding Flowers

Flower, Bonsai & Decorative Plant Co., Ltd. , http://www.nbartificialbonsai.com

This entry was posted in on