Conventionally, in a digital broadcast system in which an application program is downloaded and executed, there is a technique for changing a font to be used by the application program according to a service. For example, in the case of executing an application program that displays current time, as shown in FIGS. 1(A) and (B), when service (channel) S is changed, current time T is displayed in a font according to the service S.
The technique concerning the digital broadcast system in which the application program is downloaded and executed is prescribed by the DVB-MHP standard (refer to non-Patent Reference 1), which is the European digital TV standard, and it is a publicly known technique. The DVB-MHP standard employs the Abstract Window Toolkit (AWT), which is the Java™ class library, as an API which uses fonts preinstalled in a terminal. In addition, an API which uses fonts that are not preinstalled in the terminal is also prescribed. For the details, refer to the DVB-MHP standard.
The following gives an outline of a mechanism for using the fonts that are not preinstalled in the terminal. Here, what is specified in the DVB-MHP standard will be described.
<General Functional Structure>
FIG. 2 is a block diagram showing a general functional structure of a typical terminal compliant with the DVB-MHP standard.
Data in a TS signal 101 is decoded by a TS processing unit 102. Each piece of the decoded data is recorded in respective dedicated memories based on a type of the each piece of data. Font data and an Xlet are recorded in a file system recording memory 103, service information is recorded in a service information recording memory 104, and AV data is recorded in an AV recording memory 105, respectively. The Xlet is a program expressed in the Java™ bytecode.
A service information processing unit 108 processes the information service recorded in the service information recording memory 104, and instructs a presentation processing unit 109 to reproduce (output) AV data and a program processing unit 107 to start an Xlet.
The presentation processing unit 109 has decoders corresponding to video, audio, and caption respectively, and decodes the AV data recorded in the AV recording memory 105 and outputs the decoded AV data to a video plane 113 under the instruction of the service information processing unit 108.
The program processing unit 107 includes the Java™ virtual machine, and executes the Xlet recorded in the file system recording memory 103. This Xlet includes a bytecode that generates and uses the fonts that are not preinstalled in the terminal. Specifically, a font generation mechanism based on the org.dvb.ui.FontFactory class prescribed in the DVB-MHP standard is used. The program processing unit reads the bytecode of the Xlet, instructs a FontObject generation unit 106 to generate a FontObject so that the fonts that are not preinstalled in the terminal become available, and receives the resulting FontObject from the FontObject generation unit 106. Further, the program processing unit 107 instructs a font processing unit 111 to render the FontObject.
Under the instruction of the program processing unit 107, the FontObject generation unit 106 generates, from the font data recorded in the file system recording memory 103, a FontObject compatible with java.awt.Font of the AWT and a font face which is rendering information of the FontObject; makes a pair of these; and records it in a FontObject recording memory 110. In the FontObject recording memory 110, an area where at least the FontObject is recorded is a heap area of the Java™ virtual machine.
Under the FontObject rendering instruction of the program processing unit 107, the Font processing unit 111 obtains the font face paired with the FontObject and outputs it to a graphics plane 112.
The graphics plane 112 and the video plane 113 are synthesized by a synthesis processing unit 114 and outputted to a TV receiver and the like.
<Mechanism for Changing Font to be Used According to Service>
Next, a mechanism for changing a font to be used by the terminal according to a service will be described.
An Xlet to be executed by the program processing unit 107 includes association information between a service and font information. Furthermore, the Xlet includes the bytecode that changes the font to be used when a reproduction service changes.
FIG. 3 is a diagram showing an example of the association information between the service and the font information. As shown in this figure, the association information is information in which a service ID and a font file name are associated with each other. By using the association information, it becomes possible to specify the font to be used when the reproduction service is decided.
The program processing unit 107 reads the bytecode of the Xlet, obtains a service ID in currently reproduction from the service information processing unit 108, and instructs the FontObject generation unit 106 to generate a FontObject after the font to be used is determined based on the association information. That is to say, when the reproduction service changes, the program processing unit 107 obtains a service ID of the changed reproduction service from the service information processing unit 108, and instructs the FontObject generation unit 106 to generate a FontObject after the font to be used is determined based on the association information.
Non-Patent Reference 1: ETSI TS 101 812 DVB-MHP Specification V1.0.3.