Image forming apparatus and image processing program

The image forming apparatus optimizes font cache storage by using a tiered cache system to handle surrogate pair characters efficiently, reducing printing time and costs by limiting primary cache storage to specific character types.

JP2025173720APending Publication Date: 2025-11-28KYOCERA DOCUMENT SOLUTIONS INC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024079421
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-05-15
Publication Date
2025-11-28

AI Technical Summary

Technical Problem

Existing image forming technologies do not efficiently handle character codes represented by surrogate pairs, requiring large-capacity font caches that increase costs.

Method used

An image forming apparatus and program that utilize a primary, secondary, and tertiary font cache system, determining whether characters are surrogate pair-compatible, and storing images accordingly to optimize cache usage.

Benefits of technology

Reduces printing time and costs by efficiently storing character images in a smaller primary font cache, limiting storage to non-surrogate pair characters and high-order surrogate characters, thus avoiding the need for a large-capacity cache.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025173720000001_ABST
    Figure 2025173720000001_ABST
Patent Text Reader

Abstract

To efficiently store an image of a character indicated by character codes of two bytes and four bytes in a font cache.SOLUTION: In an image forming apparatus 1, when a font cache unit 115 does not store a bit map image of a target character (S12; NO), a character drawing unit 114 creates a bit map image of a font of the target character. Then, a surrogate pair determination unit 112 determines whether the target character is a surrogate pair corresponding character. When the target character is not the surrogate pair corresponding character (S14; NO), or when the target character is the surrogate pair corresponding character (S14; YES) and a high-level surrogate is a predetermined value (for example, 0x8D40) (S15; YES), a font cache control unit 113 stores the bitmap image created by the character drawing unit in a primary font cache (S22).SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an image forming apparatus and an image processing program. [Background technology]

[0002] Image forming devices such as copiers and printers print images on paper according to print data received from external devices such as personal computers or print data based on original images acquired by scanners. When printing characters from the print data, the image forming device creates an image (bitmap image) of the font of the characters and prints it.

[0003] Creating images of character fonts takes time, so these images are generally stored in a font cache. Storing images of frequently used character fonts in the font cache reduces the time and effort required to create images, thereby shortening printing time.

[0004] Patent document 1 describes a font cache mechanism that determines whether a character should be placed at the top of a list based on its frequency of use. Patent document 2 describes a method that determines whether an image of a character should be stored in the font cache based on the language in which the character was created.

[0005] Patent document 3 describes a method in which character images are stored in a font cache based on the device's language settings and the frequency of character use. Patent document 4 describes a method in which a character width cache is designed for use in combination with Unicode characters, allocating phonetic-based characters to a lower subrange of the character code and ideographic characters to a higher subrange.

[0006] Patent Document 5 describes a method of dividing the font cache into blocks and gradually expanding the font cache to prevent unnecessary memory allocation. [Prior art documents] [Patent documents]

[0007] [Patent Document 1] US9129305B2 [Patent Document 2] Japanese Patent Application Laid-Open No. 2014-233861 [Patent Document 3] US10635852B2 [Patent Document 4] US5706462A [Patent Document 5] Japanese Patent Application Laid-Open No. 2013-169763 Summary of the Invention [Problem to be solved by the invention]

[0008] Unicode, a character code set standard, uses two bytes of data per character, but a method was introduced to represent one character using four bytes (surrogate pair) by combining the previously unused 0xD800 to 0xDBFF (high surrogate) and 0xDC00 to 0xDFFF (low surrogate). The technologies described in Patent Documents 1 to 4 do not describe how to handle four-byte character codes.

[0009] An object of the present invention is to provide an image forming apparatus and an image processing program that efficiently store images of character fonts represented by 2-byte and 4-byte character codes in a font cache. [Means for solving the problem]

[0010] An image forming apparatus according to one aspect of the present invention comprises: a surrogate pair determination unit that determines whether one of the characters included in print data is a target character and detects whether the target character is a surrogate pair-compatible character; a font cache unit that has a primary font cache, a secondary font cache that has a read / write speed slower than the primary font cache, and a tertiary font cache that has a read / write speed slower than the secondary font cache and that stores image images of the characters; a font cache control unit that controls reading and writing in the font cache unit; and a character rendering unit that creates an image image of a typeface of the target character, wherein the font cache control unit detects and reads an image image of the typeface of the target character from the font cache unit, and if the font cache unit does not store the image image, the character rendering unit creates an image of the typeface of the target character, and if the target character is not a surrogate pair-compatible character or if the target character is a surrogate pair-compatible character whose high-order surrogate has a predetermined value, the font cache control unit stores the image image of the typeface of the target character in the primary font cache.

[0011] An image processing program according to one aspect of the present invention causes a computer to operate as: a surrogate pair determination unit that sets one of the characters included in print data as a target character, and detects whether the target character is a surrogate pair-compatible character; a font cache unit that has a primary font cache, a secondary font cache that has a read / write speed slower than the primary font cache, and a tertiary font cache that has a read / write speed slower than the secondary font cache and that stores an image image of the character; a character rendering unit that creates an image image of a typeface of the target character; and a font cache control unit that controls reading and writing in the font cache unit; wherein the font cache control unit detects and reads out an image image of the typeface of the target character from the font cache unit, and if the image image is not stored in the font cache unit, causes the character rendering unit to create an image of the target character; and if the target character is not a surrogate pair-compatible character or if the target character is a surrogate pair-compatible character whose high-order surrogate has a predetermined value, stores an image image of the typeface of the target character in the primary font cache. [Effects of the Invention]

[0012] If image images of many character fonts could be stored in the primary font cache, the time required for printing could be reduced efficiently, but this required a large-capacity primary font cache, which in turn increased costs. According to this invention, the image images stored in the primary font cache are limited to characters that do not support surrogate pairs (i.e., characters represented by two bytes) and characters that support surrogate pairs (i.e., characters represented by four bytes) with high surrogates whose values ​​are predetermined, so a large-capacity primary font cache is not required, thereby reducing costs. [Brief explanation of the drawings]

[0013] [Figure 1] FIG. 2 is a diagram illustrating an electrical configuration of the image forming apparatus. [Figure 2] 10 is a flowchart showing the flow of a process for accessing a font cache unit. DETAILED DESCRIPTION OF THE INVENTION

[0014] An image forming apparatus according to an embodiment of the present invention will be described below with reference to the drawings. The image forming apparatus in this embodiment may be a printer, a copier, or a multifunction device equipped with multiple functions such as a facsimile and a scanner. The image forming apparatus in this invention uses Unicode as its character code.

[0015] 1 is a diagram showing the electrical configuration of an image forming apparatus 1 according to one embodiment of the present invention. The image forming apparatus 1 includes a control unit 11, an input receiving unit 12, an image reading unit 13, an image forming unit 14, an HDD 15, a communication unit 16, etc.

[0016] The input receiving unit 12 includes hard keys such as a decision key for confirming various operations and settings, a start key, and a display unit 121. The display unit 121 displays an operation screen, messages, etc. The display unit 121 may be configured integrally with a touch panel.

[0017] The image reading unit 13 reads an image of a document to obtain image data. The image forming unit 14 prints on paper in accordance with the print data obtained by the image reading unit 13 or the print data received by the communication unit 16 from an external device or the like.

[0018] The HDD 15 is a large-capacity storage device that stores image data, various programs, data tables, etc. The communication unit 16 is composed of a communication module and the like, and transmits and receives various data to and from external devices such as servers via a network.

[0019] The control unit 11 is composed of a processor, RAM (Random Access Memory), ROM, etc. The processor is a CPU (Central Processing Unit), MPU (Micro Processing Unit), ASIC (Application Specific Integrated Circuit), etc. The control unit 11 functions as a control unit 111, a surrogate pair determination unit 112, a font cache control unit 113, and a character drawing unit 114 by the processor executing an image processing program stored in the ROM, etc. The control unit 111 is responsible for overall operational control of the image forming apparatus 1.

[0020] Image forming device 1 prints images on paper in accordance with print data received from an external device or print data based on an original image acquired by a scanner. When printing characters, character rendering unit 114 performs a process (rasterization) in which the character font is converted into a bitmap image (image picture). Because this rasterization process takes time, font cache unit 115 stores the bitmap image created by character rendering unit 114. This allows control unit 111 to quickly read the character bitmap image from font cache unit 115, thereby shortening the printing time.

[0021] UTF16 is one of the character encoding methods defined by Unicode. UTF16 generally represents one character with two bytes, but in some cases two characters are represented with four bytes. These four bytes represent one character and are called surrogate pairs (characters that correspond to surrogate pairs). A surrogate pair consists of a high surrogate (two bytes) and a low surrogate (two bytes), with the code range for high surrogates being 0xD800 to 0xDBFF and for low surrogates being 0xDC00 to 0xDFFF. Characters that correspond to surrogate pairs are characters that are used less frequently.

[0022] The surrogate pair determination unit 112 determines whether a character included in the print data is a surrogate pair compatible character based on the 2-byte character code of the character. The font cache control unit 113 then searches the font cache unit 115 to see if a bitmap image of the character typeface is stored, and if so, reads out the bitmap image.

[0023] If the bitmap image of the character typeface is not stored in the font cache unit 115, the character drawing unit 114 creates a bitmap image, and the font cache unit 115 stores the bitmap image in either the primary font cache 21, the secondary font cache 22, or the tertiary font cache 23 depending on the result of the judgment by the surrogate pair judgment unit 112.

[0024] The font cache unit 115 is a cache memory that stores character bitmap images, and includes a primary font cache 21, a secondary font cache 22, and a tertiary font cache 23. The read / write speed of each cache is fastest in the order of the primary font cache 21, the secondary font cache 22, and the tertiary font cache 23.

[0025] 2 is a flowchart showing the flow of the access process to the font cache unit 115 in this embodiment. The font cache control unit 113 sets the first character included in the print data as the target character (S11), and searches to see if a bitmap image of the target character is stored in the font cache unit 115 (S12).

[0026] If the font cache unit 115 stores a bitmap image of the target character (S12; YES), the font cache control unit 113 reads the bitmap image from the font cache unit 115 (S21). If the target character is the last character of the print data (S19; YES), the font cache control unit 113 ends the process. On the other hand, if the target character is not the last character of the print data (S19; NO), the font cache control unit 113 sets the next character as the target character (S20) and proceeds to process S12.

[0027] If the font cache unit 115 does not store a bitmap image of the target character (S12; NO), the character rendering unit 114 creates a bitmap image of the font of the target character (S13). The surrogate pair determination unit 112 then determines whether the target character is a surrogate pair-compatible character. If the target character is not a surrogate pair-compatible character (S14; NO), or if the target character is a surrogate pair-compatible character (S14; YES) and the high-order surrogate is a predetermined value (e.g., 0x8D40) (S15; YES), the font cache control unit 113 stores the bitmap image created by the character rendering unit 114 in the primary font cache 21 (S22). The font cache control unit 113 then proceeds to step S19.

[0028] In this embodiment, the font cache control unit 113 stores the surrogate pair corresponding character in the primary font cache 21 only if the high-order surrogate is 0x8D40, but the value of the high-order surrogate may be changed depending on the frequency of use of the character, etc.

[0029] If the target character is a surrogate pair compatible character (S14; YES) and the high-order surrogate is not a predetermined value (0x8D40) (S15; NO), the font cache control unit 113 determines (S16) whether the bitmap image can be stored in the secondary font cache 22. If the font cache control unit 113 determines that the bitmap image can be stored (S16; YES), the font cache control unit 113 stores the bitmap image in the secondary font cache 22 (S23). After this, the process proceeds to S19.

[0030] If the font cache control unit 113 determines that the bitmap image cannot be stored in the secondary font cache 22 (S16; NO), it finds the bitmap image with the oldest access date and time from the secondary font cache 22 and transfers that bitmap image to the tertiary font cache 23 (S17).The font cache control unit 113 then deletes the transferred bitmap image from the secondary font cache 22 and stores the bitmap image created by the character drawing unit 114 in the secondary font cache 22 (S18). After this, the process proceeds to S19.

[0031] If bitmap images of many characters could be stored in the primary font cache 21, the time required for printing could be reduced efficiently, but this would require a large-capacity primary font cache, which would increase costs. As explained above, in this embodiment, the bitmap images stored in the primary font cache 21 are limited to characters represented by 2 bytes and, among characters represented by 4 bytes, characters whose high-order surrogate has a predetermined value (0x8D40), so a large-capacity primary font cache 21 is not required.

[0032] Furthermore, according to this embodiment, if there is no free space in the secondary font cache 22, bitmap images with older access dates and times are transferred to the tertiary font cache 23, and the created bitmap images are stored in the secondary font cache 22. This allows less frequently used bitmap images to be moved from the secondary font cache 22 to the tertiary font cache, and allows the secondary font cache 22 to store more recently used characters.

[0033] The present invention is not limited to the configuration of the above embodiment, and various modifications are possible. In addition, in the above embodiment, the configuration and processing shown in the above embodiment using Figures 1 and 2 are merely one embodiment of the present invention, and it is not intended that the present invention be limited to these configurations and processing. [Explanation of symbols]

[0034] 1. Image forming device 11 Control Unit 111 Control Unit 112 Surrogate Pair Determination Unit 113 Font cache control section 114 Character Drawing Section 115 Font Cache 21 Primary Font Cache 22 Secondary Font Cache 23 Tertiary Font Cache 12 Input reception section 121 Display section 13 Image reading unit 14 Image forming unit 15 HDD 16 Communications Department

Claims

1. a surrogate pair determination unit that determines whether one of the characters included in the print data is a target character and detects whether the target character is a surrogate pair compatible character; a font cache unit having a primary font cache, a secondary font cache having a read / write speed slower than that of the primary font cache, and a tertiary font cache having a read / write speed slower than that of the secondary font cache, and storing image images of the characters; a font cache control unit that controls reading and writing of the font cache unit; a character drawing unit that creates an image of the font of the target character, the font cache control unit detects and reads out an image of the font of the target character from the font cache unit; If the font cache unit does not store the image, the character drawing unit creates an image of the font of the target character, An image forming device in which, if the target character is not a surrogate pair compatible character, or if the target character is a surrogate pair compatible character whose high-order surrogate has a predetermined value, the font cache control unit stores an image of the typeface of the target character in the primary font cache.

2. If the font cache unit does not store the image, the character drawing unit creates an image of the font of the target character, 2. The image forming device according to claim 1, wherein if the target character is a surrogate pair corresponding character whose high-order surrogate is not the predetermined value, the font cache control unit stores an image of the typeface of the target character in the secondary font cache.

3. An image forming device as described in claim 2, wherein when the image created by the character drawing unit cannot be stored in the secondary font cache, the font cache control unit transfers the oldest image from the secondary font cache to the tertiary font cache and stores it therein, deletes the oldest image from the secondary font cache, and stores the image created by the character drawing unit in the secondary font cache.

4. 2. The image forming apparatus according to claim 1, wherein the predetermined value is 0xD840.

5. Computer, a surrogate pair determination unit that determines whether one of the characters included in the print data is a target character and detects whether the target character is a surrogate pair compatible character; a font cache unit having a primary font cache, a secondary font cache having a read / write speed slower than that of the primary font cache, and a tertiary font cache having a read / write speed slower than that of the secondary font cache, and storing image images of the characters; a character drawing unit that creates an image of the font of the target character; a font cache control unit that controls reading and writing of the font cache unit; The font cache control unit Detecting and reading an image of the font of the target character from the font cache unit; If the image is not stored in the font cache unit, the character drawing unit creates an image of the target character; an image processing program for storing an image of the typeface of the target character in the primary font cache when the target character is not a surrogate pair compatible character or when the target character is a surrogate pair compatible character whose high-order surrogate has a predetermined value;

Citation Information

Patent Citations

  • Image forming apparatus, and character drawing program

    JP2013169763A

  • Image forming apparatus

    JP2014233861A

  • Image processing apparatus and method for controlling image processing apparatus

    US10635852B2

  • Self optimizing font width cache

    US5706462A

  • Systems and methods for targeted advertising

    US9129305B2