Distribution server and label editing program
Patent Information
- Application Number
- JP2025036754
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-03-07
- Publication Date
- 2026-09-17
AI Technical Summary
【0008】 本明細書に開示される技術によれば、ラベルデータの保存および配信を行う配信サーバであって、ラベルデータに含まれる文字列を、そのラベルデータのアップロード者の意図するフォントで表示できる技術が実現される。
Smart Images

Figure 2026148286000001_ABST
Abstract
Description
Technical Field
[0001] The technical field disclosed in the present specification relates to a distribution server that stores and distributes label data, and a label editing program.
Background Art
[0002] Conventionally, technologies for storing and distributing label data by a distribution server are known. For example, Patent Document 1 discloses a configuration in which a server side includes a personal computer for designing labels, a label database for accumulating labels, and a registration number database for assigning product numbers; a client side includes a personal computer for issuing labels, a printer, and a cutting plotter; the server and the client are connected to consistently perform the processes up to label design, issuance, and cutting.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problem to be Solved by the Invention
[0004] When label data created by a client is stored in a distribution server, and the label data is then displayed from the distribution server, if the distribution server does not have the font specified for text included in the label data, the text cannot be displayed in the font intended by the uploader of the label data, that is, the creator of the label data.
Means for Solving the Problem
[0005] One embodiment of a distribution server designed to solve the above-mentioned problems is a distribution server connected to a network, wherein when the distribution server receives a font list request transmitted from a distribution source device connected to the network, it returns a list of server fonts, which are fonts available to the distribution server, to the distribution source device, and the distribution server is further configured to receive a character data request transmitted from the distribution source device that received the list of server fonts, which specifies a string input to the distribution source device and specific information that identifies the server font selected by the distribution source device from the list of server fonts, and to obtain a subset font containing the glyphs of each character constituting the string specified in the received character data request, based on font data that stores information about the server font identified by the specific information specified in the received character data request, create image data showing the string specified in the received character data request based on the obtained subset font, and return the created image data to the distribution source device.
[0006] A distribution server with the above configuration provides the source device from which label data is uploaded with a list of server fonts available on the distribution server. Subsequently, when the creator of the label data selects one of the server fonts as the font for the text and enters a string of characters, the distribution server obtains a subset font of the string entered into the source device based on the font data of the server font selected by the source device, and uses that subset font to display an image of the entered string on the source device. As a result, the string of characters in the font intended by the creator of the label data is displayed on the source device.
[0007] The devices, control methods, computer programs, and computer-readable storage media for implementing the above-mentioned distribution server functions are also novel and useful. [Effects of the Invention]
[0008] The technology disclosed herein provides a distribution server for storing and distributing label data, which enables the display of strings contained in the label data using the font intended by the uploader of the label data. [Brief explanation of the drawing]
[0009] [Figure 1] This is an explanatory diagram illustrating the schematic configuration of the distribution system according to the first embodiment. [Figure 2] This is a sequence diagram illustrating an example of the procedure for creating label data. [Figure 3] This is a diagram illustrating an example of a label editing screen. [Figure 4] This is a sequence diagram illustrating an example of the procedure for displaying label data. [Figure 5] This is a flowchart illustrating an example of the preview drawing process. [Figure 6] This is a diagram illustrating an example of a label display screen. [Figure 7] This diagram illustrates an example of a web editing screen. [Figure 8] This is a sequence diagram illustrating an example of the procedure for creating label data in the second embodiment. [Modes for carrying out the invention]
[0010] The distribution server that distributes label data will be described in detail with reference to the attached diagram. This configuration discloses a distribution system in which the distribution server, the distribution source device, and the distribution destination device are connected via a network, and label data uploaded from the distribution source device to the distribution server is distributed to the distribution destination device.
[0011] (First Embodiment) <Outline of the distribution system configuration> The distribution system (hereinafter referred to as "the system") 100 of the first embodiment shown in Figure 1 has a distribution server 1 connected to a network 6 such as the Internet. The distribution server 1 is connected to a font server 8 that holds font data for each font available to the distribution server 1, and the distribution server 1 may be connected to the font server 8 on a one-to-one basis, or it may be connected via the network 6, etc. In this embodiment, the font server 8 holds font data FD1, font data FD2, and font data FD21. The fonts represented by font data FD1, font data FD2, and font data FD21 are examples of "server fonts".
[0012] Personal computers (hereinafter referred to as "PCs") 2, 3 and a label printer 5 are connected to the distribution server 1 via a network 6 so that they can communicate with each other. The distribution server 1 is a server managed by the vendor of the label printer 5, etc. In this configuration, the distribution server 1 has, for example, a function to store label data that represents labels and a function to distribute the stored label data.
[0013] The PC3 and label printer 5 are installed in stores such as supermarkets. The label printer 5 is a device that has at least a communication function and a printing function. The label printer 5 is equipped with a main control panel 5a. The main control panel 5a is equipped with an operation section that accepts various operations such as print settings and main print commands to execute printing. The main control panel 5a may also be equipped with a display section that displays data.
[0014] The label printer 5, for example, can accommodate a roll of sheets and has the function of printing images on those sheets to create labels. The roll of sheets is a printing medium in which sheets are stacked on a continuous strip of release paper and wound up. The sheets may be a continuous long tape or die-cut labels that have been pre-cut into a predetermined shape. The label printer 5 is equipped with a cassette for detachably storing the roll of sheets.
[0015] The label printer 5 can be loaded with a plurality of types of cassettes. There are various types of cassettes, including a cassette accommodating a continuous long tape, a cassette accommodating die-cut labels for price tags, and a cassette accommodating die-cut labels for addresses. For the sheets accommodated in the cassettes, the character color, background color, sheet size, material and the like vary depending on the model of the cassette. The sheet size includes a sheet width, which is a size in a direction perpendicular to the sheet conveyance direction, and a sheet length, which is a size in the sheet conveyance direction. The material is, for example, paper, a resin sheet, or cloth. Further, the label printer 5 of the present embodiment may have a function of cutting the printed portion after printing and discharging the cut portion.
[0016] The PC 3 is communicably connected to the label printer 5. The communication method may be wireless or wired. The PC 3 has a user interface (hereinafter referred to as "user IF") 31 that displays information. The user IF 31 may have an operation function for accepting input of information. A print application program (hereinafter referred to as "print application") 32 for controlling printing by the label printer 5 is installed in the PC 3.
[0017] The print application 32 is a program provided by a vendor or the like of the label printer 5, and can use a service provided by the distribution server 1. The PC 3 can download label data from the distribution server 1 by means of the print application 32. Further, the PC 3 can display, by means of the print application 32, a setting screen for accepting print settings based on the capabilities of the label printer 5, and can accept the print settings. For example, the print application 32 can output, to the label printer 5, a print command for printing the label data downloaded from the distribution server 1 using the print settings accepted via the setting screen. Hereinafter, the PC 3 is referred to as "distribution destination PC 3".
[0018] The label printer 5 may be connected to the distribution server 1 via the distribution destination PC 3, or may be directly connected to the distribution server 1. Although FIG. 1 only shows one distribution destination PC 3 and one label printer 5, in actuality, a plurality of distribution destination PCs 3 arranged in each store and a plurality of label printers 5 are connected to the distribution server 1.
[0019] PC 2 is provided, for example, in a management company that manages the aforementioned stores. PC 2 is a device including at least a communication function, a display function, and an operation function. PC 2 has a user interface (hereinafter referred to as "user IF") 21 that displays information. The user IF 21 may have an operation function that accepts input of information. A label editing application program (hereinafter referred to as "label editing app") 22 having a label editing function is installed in PC 2. The label editing app 22 is an example of a "label editing program".
[0020] The label editing app 22 can cause the user IF 21 to display a label editing screen on which objects can be arranged, and accept label editing via the label editing screen. The objects are, for example, text, images, graphics, frames, barcodes, and the like. The label editing app 22 can edit text and the like included in label data by using the font data FD1, FD2, ... FD11 of PC 2. The font data held by PC 2 may be those registered in the operating system (hereinafter referred to as "OS") of PC 2, may be those not registered in the OS of PC 2 but registered in the label editing app 22, or may be a combination of both.
[0021] The font data held by PC2 and the font data held by font server 8 do not have to be exactly the same. For example, PC2 may or may not have font data that is not available to distribution server 1, such as font data FD11, i.e., font data that font server 8 does not possess. Furthermore, font server 8 may or may not have font data that PC2 does not possess, but which distribution server 1 can use, such as font data FD21.
[0022] Font data contains information that indicates the glyphs (fonts) of characters designed in a specific style. For example, font data includes information such as the font name, weight (font thickness), glyphs, character order, and code. The font name indicates the name of the font. Glyphs are character data of the font, including information about the outline and body of the character shape.
[0023] The label editing application 22 is a program provided by the vendor of the label printer 5, and can utilize the services provided by the distribution server 1. PC2 can upload the label data edited by the label editing application 22 to the distribution server 1. The uploading of label data will be described later. In the following explanation, PC2 will be referred to as "distribution source PC2".
[0024] The printing application 32 and the label editing application 22 can communicate with the distribution server 1 via their own browser functions or via the browsers of the destination PC 3 or the source PC 2. The browser may be one that is pre-installed on the OS of the destination PC 3 or the source PC 2, or it may be one that is installed separately from the OS.
[0025] The source PC2 is an example of a "source device" or "information processing device." The destination PC3 and label printer 5 are examples of "destination devices." Destination PC3 is an example of a "requesting device." Label printer 5 is an example of a "printer." The source device, requesting device, information processing device, and destination device may also be smartphones or tablet devices.
[0026] <Configuration of distribution server 1> Distribution server 1 is a device having at least communication and storage functions. Distribution server 1 has a front-end application 11 and a back-end application 12. The front-end application 11 and the back-end application 12 cooperate to execute processing by distribution server 1. Note that the processing by distribution server 1 may be executed by a single application. Distribution server 1 shown in Figure 1 consists of a single device, but it may also consist of a system of multiple devices.
[0027] Frontend application 11 is a web application that can be used on the browser of the information processing device connected to the distribution server 1, without being installed on the information processing device. Frontend application 11 provides, for example, a screen that accepts user input and can be displayed in a browser. Frontend application 11 contains various page information for displaying the screen on the distribution source PC 2 and the distribution destination PC 3.
[0028] The backend application 12 is a program that executes various processes in response to requests from the frontend application 11. Specifically, the backend application 12 can communicate with the font server 8 and utilize the font data held by the font server 8. The backend application 12 can also call various databases to store and retrieve information. Databases that the backend application 12 can access include, for example, the label database 13 (hereinafter referred to as "label DB 13") and the printer database 14 (hereinafter referred to as "printer DB 14"). In Figure 1, the label DB 13 and the printer DB 14 are located within the distribution server 1, but they may also be located outside the distribution server 1.
[0029] Label DB13 stores label data. For example, a record is created for each label in Label DB13. Each record stores a label ID that identifies the label, the label name, the label data, a sample image of the label, and the update history, all linked together. Label data uploaded to distribution server 1 is stored in Label DB13.
[0030] Printer DB14 stores printer information about printers connected to network 6. Printer DB14 has a record created for each printer. Each record stores a printer ID that identifies the printer, a printer name, a model name indicating the model, capability information indicating the printer's capabilities, and destination information such as an IP address, all linked together. Distribution server 1 can communicate with printers registered in Printer DB14 and, for example, can distribute label data stored in Label DB13 to printers.
[0031] <Operation Description> Next, the operation of System 100 will be described. The procedures and processing steps of each program described below basically represent the CPU processing according to the instructions written in each program. That is, processes such as "judgment," "decision," "acquisition," and "reception" in the following description represent CPU processing. CPU processing includes hardware control using the OS API. In this specification, the description of the OS is omitted when explaining the operation of each program. Also, "acquisition" is used as a concept that does not necessarily require a request.
[0032] <Editing Labels> First, the procedure for editing labels on the source PC2 will be explained. As shown in Figure 2, when the label editing application 22 is launched (A01), the source PC2 connects to the distribution server 1 using the browser function of the label editing application 22 or a browser installed on the source PC2 (A02). The label editing application 22 displays, for example, the label editing screen D1 shown in Figure 3 to the user IF21 and accepts label editing (A11). Note that the timing of the source PC2 connecting to the distribution server 1 may be after label editing has started, such as when the label editing screen D1 is displayed or when a text object is selected.
[0033] Figure 3 shows the label editing screen D1 displaying an image IM11 of label data with multiple objects arranged on it. The label editing screen D1 has a printer selection field PS11 for selecting a printer and a sheet size setting field for setting the sheet size. The sheet size setting field includes, for example, a sheet width setting field PA11 for setting the sheet width and a sheet length setting field PA12 for setting the sheet length. The sheet length setting field PA12 is enabled when the length is fixed and grayed out and disabled when the length is not fixed. Furthermore, the label editing screen D1 has a color setting field PA13 for setting the background color and text color of the sheet.
[0034] The label editing application 22 has several objects prepared in advance. These objects include, for example, text, frames, images, shapes, and QR codes. The label editing screen D1 has a group of object selection buttons SW11 for selecting objects, and the object selected via the object selection buttons SW11 is placed in the label editing area EA11 of the label editing screen D1. The label editing area EA11 displays an image IM11 of the label data being edited. In this embodiment, for example, text objects OB11, OB12, OB13, and OB14 are placed in the label editing area EA11.
[0035] The label editing screen D1 has an object attribute setting area SA11 for setting object attributes. The display of the object attribute setting area SA11 switches depending on the object selected in the label editing area EA11, and the attributes of the selected object can be set. Image IM11 reflects the object attributes set in the object attribute setting area SA11.
[0036] For example, if the label editing application 22 has a text object OB11 selected, it will display a font selection field ST11 for selecting a font and a font size setting field ST12 for setting the font size in the object attribute setting area SA11. The font selection field ST11 allows the user to select one font from the font list L11, which shows the fonts that can be specified for the text object OB11.
[0037] As shown in Figure 2, when a new string "condensed milk" is entered into the text object OB11, or when the entered string is changed (B01), the label editing application 22 accesses the front-end application 11 and requests the transmission of the server font list (B11). B01 is an example of "string input processing". The request in B11 specifies the sheet size, including the settings set in the sheet width setting field PA11 and the sheet length setting field PA12 of the label editing screen D1, and the font size set in the font size setting field ST12. The request in B11 to transmit the server font list is an example of "font list request".
[0038] The frontend application 11 forwards a request to send a server font list with specified sheet size and font size to the backend application 12 (B12).
[0039] When the backend application 12 receives a request to send a list of server fonts, it retrieves a list of server fonts from the font server 8 (B13). B13 is an example of the "server font acquisition process". In this form, the backend application 12 specifies the sheet size and font size specified in the request for B12, and requests the font server 8 to send a list of server fonts suitable for the specified sheet size and font size. The font server 8 extracts server fonts suitable for the sheet size and font size specified in the request, and returns a list of server fonts, including the extracted server fonts, to the backend application 12. The list of server fonts includes specific information that identifies the server font, but does not include the font data of the server font itself. An example of specific information is the font name. The specific information may include glyphs representing each character of the font name for each server font.
[0040] Alternatively, in B13, the backend application 12 may retrieve all server fonts stored in the font server 8, then extract server fonts suitable for the sheet size and font size specified in the request for B12 from the retrieved server fonts, and create a server font list.
[0041] Furthermore, the server font list may include server fonts suitable for either the sheet size or the font size. The server font list may also include all server fonts held by font server 8. However, distribution server 1 can exclude fonts that do not fit on the tape, for example, from being used as fonts for text by obtaining the server font list limited to server fonts suitable for the sheet size specified via label editing screen D1. Also, distribution server 1 can exclude server fonts that are too small and would be partially cut off, for example, from being used as fonts for text by obtaining the server font list limited to server fonts suitable for the font size specified via label editing screen D1.
[0042] The backend application 12 passes the list of server fonts obtained from the font server 8 to the frontend application 11 (B14). The frontend application 11 returns the list of server fonts received from the backend application 12 to the label editing application 22, which is the source of the request for B11 (B15).
[0043] The label editing application 22 creates a font list L11 using the server fonts included in the server font list. The label editing application 22 selects one server font from the created font list L11 (B21). The font list LT11 displays the font name as identifying information for the font. The font name itself in the font list LT11 may be drawn using the glyph of the font data. B21 is an example of the "server font selection process".
[0044] Font list L11 only includes font names of server fonts owned by font server 8, such as "font name NA" for font data FD1, "font name NB" for font data FD2, and "font name NC" for font data FD21. It does not include font names of fonts not owned by font server 8, such as font data FD11. Therefore, the label editing application 22 can avoid specifying fonts not owned by font server 8 in text object OB11. Furthermore, even if the source PC2 does not own a font, such as font data FD21, the label editing application 22 can specify it in text object OB11 if it is owned by font server 8.
[0045] The label editing application 22 requests the front-end application 11 to send character data based on the input of a string or the selection of a font (B22). The request specifies the information necessary to create image data of the string. The information necessary to create image data of the string includes, at a minimum, specific information (font name) that identifies the server font selected in B21, and the string "condensed milk" entered in the selected text object OB11. The information necessary to create image data of the string may also include the character color and background color set in the color setting field PA13 of the label editing screen D1, and the font size set in the font size setting field ST12. The request in B22 is an example of a "character data request".
[0046] The frontend application 11 forwards the text data transmission request received from the label editing application 22 at B22 to the backend application 12 (B23).
[0047] When the backend application 12 receives a request to send character data, it extracts the font name and string of the server font included in the information necessary to create the image data of the string, and obtains the subset font corresponding to the extracted server font name and string from the font server 8 (B24).
[0048] For example, if B21 selects specific information to identify the server font that represents font data FD1, i.e., the font name "Font Name NA", then the information required to create the image data of the string specified in the request B23 includes the string "Condensed Milk" and the font name "Font Name NA". The backend application 12 requests the font server 8 to send the subset font, specifying the string "Condensed Milk" and the font name "Font Name NA".
[0049] Font server 8 reads font data FD1 based on the specified font name "Font Name NA", extracts the glyphs for each character of the specified string "Condensed Milk" from the read font data FD1, and obtains a subset font containing the extracted glyphs. The subset font may also include information indicating the order and code of the characters in addition to the glyph data. Font server 8 returns the obtained subset font to backend application 12.
[0050] Alternatively, the backend application 12 may obtain the entire font data FD1 from the font server 8 at B24 and extract a subset font containing the glyphs for each character of the string "condensed milk" from the obtained font data. However, by obtaining the subset font containing the glyphs corresponding to the characters that make up the input string from the font server 8, the distribution server 1 can reduce the amount of data transmitted compared to when the entire font data FD1 is passed.
[0051] The backend application 12 creates image data for the specified string based on the extracted subset font and the information required to create the image data specified in the request B23 (B31).
[0052] For example, the backend application 12 draws the outline of each character of the string "condensed milk" according to the glyphs of the subset font. The backend application 12 also enlarges or reduces each character according to the font size included in the information necessary for creating the image data. The backend application 12 colors the inside of each character's outline according to the character color included in the information necessary for creating the image data. The backend application 12 also colors the background of each character according to the background color included in the information necessary for creating the image data. The backend application 12 rasterizes the drawn data, which was drawn according to the glyphs, character color, background color, and font size, to create image data.
[0053] The backend application 12 passes the created image data to the frontend application 11 (B32). The frontend application 11 returns the image data received from the backend application 12 to the source PC2, which is the source of the text data request in B22 (B33). B22 and B33 are examples of "image data reception processing".
[0054] The source PC2 uses the label editing application 22 to place the received image data into the selected text object OB11 and display it on user IF21 (B34). Therefore, the creator of the label data can create the label data while checking the label data displayed by the distribution server 1. B34 is an example of "received image display processing".
[0055] The backend application 12 may, upon receiving a request to send text data specifying only the font name and string in B23, create image data of the specified string (B24, B31) and send it back to the sending PC2. The label editing application 22 installed on the sending PC2 may, upon receiving the image data, process the image data according to the text color, background color, font size, etc. of the sheet set in the label editing screen D1, and place the processed image data in the text object OB11.
[0056] Furthermore, the distribution server 1 may retrieve the server font list, retrieve subset fonts, and create image data each time a character is entered into the selected text object. However, the distribution server 1 can reduce the number of communications with the font server 8 by retrieving the server font list, retrieving subset fonts, and creating image data each time a string is entered.
[0057] <Upload label data> Next, we will explain the procedure for uploading the label data created on the source PC2 to the distribution server1.
[0058] For example, when the upload button SW13 displayed on the label editing screen D1 in Figure 3 is operated, the label editing application 22 sends an upload request to the front-end application 11 (C01). The upload request includes label data corresponding to the image IM11 displayed on the label editing screen D1.
[0059] The frontend application 11 forwards the upload request and label data to the backend application 12 (C02). The backend application 12 saves the label data attached to the upload request to the label DB 13 (C03). The backend application 12 sends a save result indicating whether the save was successful or not back to the label editing application 22 via the frontend application 11 (C04, C05). The label editing application 22 displays the save result.
[0060] Label data created by the label editing application 22 has a server font specified if it contains text objects. In other words, the uploaded label data does not specify a font for font data that the distribution source PC2 possesses but the distribution server 1 cannot use, such as font data FD11. Therefore, the distribution server 1 can receive the uploaded label data with the server font specified and save it to the label DB 13.
[0061] The label editing application 22 may also save the label data edited on the label editing screen D1 in response to the operation of the save button SW12. Alternatively, the distribution server 1 may, for example, provide an upload screen to the distribution source PC 2, accept the specification of the label data to be uploaded and the upload command on the upload screen, and save the label data created by the label editing application 22 to the label DB 13.
[0062] <Displaying label data> Next, we will explain the procedure for the distribution server 1 to display the label data stored in the label DB 13 on the destination PC 3. Here, we will explain using the example where the distribution server 1 displays the label data uploaded from the distribution PC 2 on the destination PC 3 in response to a display request from the destination PC 3.
[0063] As shown in Figure 4, the destination PC 3 connects to the front-end application 11 using the browser function of the print application 32 or the browser on the destination PC 3, selects the label data to be displayed from the label data stored in the label DB 13, and requests the distribution server 1 to display the selected label data (D11). Request D11 is an example of a "display request".
[0064] For example, when the frontend application 11 receives a request from the destination PC 3 to display the label list, it retrieves the label list from the label DB 13 via the backend application 12 and displays it on the destination PC 3. Specifically, it retrieves the label name and sample image for each label data registered in the label DB 13, associates the label name with the sample image, and displays them in a list. When the frontend application 11 receives an operation to select one label data from the label data displayed on the label list screen, or an operation to request that the selected label data be displayed, it specifies the label ID of the selected label data and forwards the request to display the label data to the backend application 12 (D12).
[0065] The backend application 12 reads the label data corresponding to the label ID specified in the display request from the label DB 13 (D13), and then executes the image data creation process based on the read label data (D14). The image data creation process is the process of creating image data for the label data.
[0066] Referring to Figure 5, the image data creation process will be explained. The backend application 12 extracts one object from the label data read in D13 (S11). The backend application 12 determines whether the extracted object is a text object or not (S13).
[0067] If the extracted object is a text object (S13:YES), the backend application 12 obtains the string specified in the extracted text object and its font attributes (S15). Font attributes include, for example, the font type, font name, and font size set in the label data. The backend application 12 may also obtain the sheet's text color and background color set in the label data as font attributes. The backend application 12 obtains a subset font from the font server 8, which includes the glyphs of each character that make up the string obtained in S15 (S17). The method for obtaining the subset font is the same as B24 in Figure 2, so a detailed explanation is omitted. The subset font obtained in S17 is an example of a "display subset font". Based on the obtained subset font, the backend application 12 creates image data of the string (S21).
[0068] For example, if the backend application 12 obtains the string "condensed milk" and the font attribute of a server font indicating font data FD1 from the specified label data, it obtains a subset font from the font server 8 that contains the glyphs of each character that make up the string "condensed milk" extracted from font data FD1. The backend application 12 draws the outline of each character according to the obtained subset font. The backend application 12 expands or shrinks each character according to the font size included in the font attribute obtained in S15. The backend application 12 also colors the inside of each character's outline according to the character color of the sheet included in the font attribute, and colors the background of each character according to the background color of the sheet included in the font attribute. The backend application 12 rasterizes the string drawing data to create string image data.
[0069] The backend application 12 places the created string image data into the text object OB11 extracted in S11 (S23). The backend application 12 determines whether or not image data has been placed in all objects included in the label data (S25). For example, if image data has not been placed in text objects OB12, OB13, and OB14, the backend application 12 determines that image data has not been placed in any objects included in the label data (S25: NO) and returns to S11. The backend application 12 extracts the next object (S11) and performs the processing from S13 onwards.
[0070] If the extracted object is not a text object (S13: NO), the backend application 12 creates image data based on the extracted object (S31). The backend application 12 then places the created image data onto the extracted object (S23) and proceeds to S25.
[0071] The backend application 12 terminates the image data creation process once it has placed image data for all objects included in the label data (S25:YES).
[0072] As shown in Figure 4, the backend application 12, having finished the image data creation process, passes the label data image data to the frontend application 11 (D15). The label data image data is composed of image data placed in each object. The frontend application 11 sends the label data image data received from the backend application 12 back to the destination PC 3, which is the source of the display request in D11 (D16). The destination PC 3 displays the received label data image data to the user IF31.
[0073] The label data uploaded by source PC2 to distribution server 1 has a server font available to distribution server 1 specified as the string. Therefore, the destination PC3 will display the string in the font intended by the uploader of the label data.
[0074] Figure 6 shows an example of a label display screen D6 that displays an image IM61 based on the image data of the label data. The label display screen D6 is a screen provided from the distribution server 1 to the destination PC 3. The label display screen D6 displays an image IM61 based on the image data of the label data received from the distribution server 1. In other words, the label display screen D6 previews the label indicated by the label data specified in the display request. The label display screen D6 has a download button SW62 and a back button SW63.
[0075] When the download button SW62 is operated, the front-end application 11 receives a distribution request (F01) as shown in Figure 4 and requests the back-end application to distribute the label data (F02). The request includes destination information for the distribution destination PC3, which is the source of the display request. The distribution request F01 received in response to the operation of the download button SW62 is an example of a "second distribution request".
[0076] The backend application 12 distributes the label data specified in the distribution request D11, i.e., the label data read from the label DB 13 in D13, to the destination PC 3 according to the destination information (F04). The backend application 12 may also distribute the label data to the destination PC 3 via the frontend application 11. The destination PC 3 receives the distributed label data (F04) and saves it (F05). The frontend application 11 returns to the previous screen if the back button SW63 on the label display screen D6 is operated.
[0077] On the other hand, if, for example, the front-end application 11 selects text object OB11 from among the text objects OB11, OB12, OB13, and OB14 included in the image IM61 displayed on the label display screen D6, it provides the web editing screen D7 shown in Figure 7 to the destination PC3, enabling it to accept changes to the string, which is a component of the label data, and changes to the font specified for the string. Figure 7 shows the web editing screen D7 with the string of text object OB11 displayed in the changed font.
[0078] Note that the label display screen D6, which previews the label data, and the web editing screen D7, which accepts edits to the label data, may be displayed on a single screen. Also, the distribution server 1 may display the web editing screen D7 only if the creator of the previewed label data has given permission for editing.
[0079] The web editing screen D7 displays the editing image display area SA73, the basic information display area SA72, the object attribute setting area SA71, the download button SW72, and the back button SW73. The editing image display area SA73 displays the image IM71 of the label data to be edited.
[0080] The image editing area SA73 initially displays the image of the label data previewed on the label display screen D6. In the image editing area SA73, you can select one object to edit from the objects placed on the displayed image. If a text object is selected, the web editing screen D7 can accept changes to the string of the selected text object.
[0081] The basic information display area SA72 displays the sheet size set for the label data displayed in the edited image display area SA73. The basic information display area SA72 may also display other information such as the update date and time and data size.
[0082] The object attribute setting area SA71 displays the settings for object attributes. For example, if the text object OB11 is selected, the object attribute setting area SA71 displays the font selection field ST71 for selecting a font and the font size setting field ST72 for setting the font size. The font selection field ST71 and font size setting field ST72 initially display the font and font size set for the label data displayed in the edited image display area SA73. The user can change the font and font size of the label data via the font selection field ST71 and font size setting field ST72.
[0083] Whenever one of the text objects displayed on the web editing screen D7 is selected, and the string is edited or the font is changed, the distribution server 1 performs the processes shown in Figure 4, E01 to E33.
[0084] In other words, when the front-end application 11 receives an operation to change the string of a text object OB11, or an operation to change the font set in the font selection field ST71 (E01), it requests the back-end application 12 to send a list of server fonts (E12). The request in E01 is an example of a "string change request". The request specifies the sheet size set in the label data displayed in the editable image display area SA73 and the font size set in the font size setting field ST72.
[0085] The backend application 12 retrieves a list of server fonts from the font server 8, including server fonts suitable for the specified sheet size and font size (E13), and passes it to the frontend application 11 (E14). The frontend application 11 provides the destination PC 3 with a screen containing the server font list received from the backend application 12. For example, as shown in Figure 7, the destination PC 3 displays specific information (font name) that identifies the server fonts included in the server font list in the font list L71 displayed in the font selection field ST71.
[0086] When the frontend application 11 selects a specific piece of information (font name) that identifies a server font from the font list L71, it accepts a font change request (E21). In response to the font change request, the frontend application 11 sets the font name of the selected server font as an attribute of the text object OB11 (E22). For example, if the font of the text object OB11 is changed from a server font that indicates font data FD1 to a server font that indicates font data FD21, the frontend application 11 sets the font name "Font Name NC" of the server font that indicates font data FD21 to the text object OB11. The request in E21 is an example of a "font change request".
[0087] When the font is changed, the frontend application 11 requests the backend application 12 to send character data (E23). The request specifies, for example, the font name "Font Name NC" of the server font that indicates the font data FD21 set in the text object OB11 in E22, and the string "Condensed Milk" entered in the text object OB11. The request may also specify the font size set in the font size setting field ST72.
[0088] In response to the character data transmission request E23, the backend application 12 retrieves a subset font containing the glyphs of each character in the specified string "condensed milk" from the font server 8 (E24). The process of E24 is the same as B24 in Figure 2, so the explanation is omitted. The subset font retrieved in E24 is an example of a "subset font for modification". In other words, the backend application 12 retrieves a subset font based on the modified server font for the string "condensed milk" from the font server 8.
[0089] The backend application 12 creates image data of the specified string "condensed milk" based on the acquired subset font (E31). For example, the backend application 12 draws the outlines of each character that make up the string "condensed milk" according to the glyphs of the subset font extracted from the font data FD21 corresponding to the font name "Font Name NC" of the server font specified in the font change request. The backend application 12 expands or shrinks each character according to the font size set in the font size setting field ST72. The backend application 12 also colors the inside of each character's outline and the background of each character according to the character color and background color of the sheet set in the label data to be edited. The backend application 12 rasterizes the drawing data of the string and creates image data (E31). The backend application 12 passes the created string image data to the frontend application 11 (E32).
[0090] The frontend application 11 replaces the image data of the string placed in the text object OB11 on the web editing screen D7 with the image data of the string received from the backend application 12 in E32. As a result, the string "condensed milk" is displayed in the changed font on the destination PC3 (E33). Therefore, the distribution server 1 can also display the image data of the label data, which reflects the font change, on the destination PC3.
[0091] For example, if the text string of text object OB11 is edited by adding, deleting, or changing characters (E01), the distribution server 1 can perform the same processing as E12 to E33, create image data based on the specified server font for the modified string, and display it on user IF31 of the destination PC 3.
[0092] Furthermore, the distribution server 1 may execute processes E12 to E33 each time a single character in the string is changed.
[0093] When the download button SW72 displayed on the web editing screen D7 in Figure 7 is operated, the front-end application 11 accepts a distribution request (F01) as shown in Figure 4 and requests the back-end application 12 to distribute the label data (F02). In this case, the front-end application 11 passes to the back-end application 12 the destination information of the distribution destination PC3, as well as the string and server font information changed on the web editing screen D7. If the front-end application 11 accepts a distribution request, it may also provide the distribution destination PC3 with a screen to confirm whether to download the label data before editing or after editing.
[0094] Backend application 12 duplicates the label data specified in the display request at E11, changes the string and font of the duplicated label data to the string and server font changed on the web editing screen D7, and delivers the modified label data to destination PC3 according to the destination information (F04). Destination PC3 receives and saves the modified label data (F05).
[0095] Therefore, the distribution server 1 can save the uploaded label data as is, and then distribute the label data to the destination PC 3, which is the source of the display request, reflecting the changes to the string and font received via the web editing screen D7. As a result, the person requesting the display can conveniently download the label data that reflects the string and font they edited to the destination PC 3.
[0096] Furthermore, when the back button SW73 displayed on the web editing screen D7 in Figure 7 is pressed, the front-end application 11 returns to the previous label display screen D6.
[0097] <Distribution to label printer 5> Next, we will explain the operation of directly distributing label data from the distribution server 1 to the label printer 5.
[0098] For example, in response to an operation on the main unit's control panel 5a, the label printer 5 displays the label data stored in the distribution server 1 on the control panel 5a and accepts the selection of label data to download from the displayed label data. When the label printer 5 receives a distribution request instruction via the main unit's control panel 5a, it sends a distribution request specifying the selected label data to the distribution server 1. The distribution request sent by the label printer 5 is an example of a "first distribution request".
[0099] When the front-end application 11 receives a distribution request from the label printer 5, it forwards the distribution request to the back-end application. The front-end application 11 adds the destination information of the label printer 5, the source of the distribution request, to the distribution request to be forwarded. The back-end application 12 reads the label data specified in the distribution request from the label DB 13 and distributes the read label data to the label printer 5 according to the destination information added to the distribution request. The back-end application 12 may also distribute the label data to the label printer 5 via the front-end application 11. The label printer 5 receives the distributed label data and stores it.
[0100] The label printer 5 may also accept pre-configured settings for the label data to be distributed and the timing for sending the distribution request, and automatically send the distribution request specifying the label data to the distribution server 1. The timing for sending the distribution request may be a predetermined time, such as when the print application 32 is launched, or it may be at a regular time, such as once a week. An automatically sent distribution request is also an example of a "first distribution request".
[0101] Furthermore, if the uploaded label data is associated with a label printer 5, the distribution server 1 may push the label data to the label printer 5 at the timing set in the distribution server 1.
[0102] <Printing label data> For example, when the printing application 32 receives a print command to print label data distributed from the distribution server 1 to the destination PC 3, it generates a print command that instructs printing based on the downloaded printout and sends it to the label printer 5. The label printer 5 prints the label data according to the print command.
[0103] For example, the label printer 5 stores the label data distributed from the distribution server 1, and when it receives the specification of the distributed label data and a print command via the main unit's operation panel 5a, it performs printing based on the label data.
[0104] As described in detail above, the distribution server 1 of the first embodiment provides the distribution source PC 2, the source of the label data upload, with a list of server fonts available on the distribution server 1. Subsequently, when the creator of the label data selects one of the server fonts as the font for the text and enters a string on the distribution source PC 2, the distribution server 1 obtains a subset font of the string entered on the distribution source PC 2 based on the font data of the server font selected on the distribution source PC 2, and uses that subset font to display an image of the entered string on the distribution source PC 2. As a result, the string in the font intended by the creator of the label data is displayed on the distribution PC 2.
[0105] Furthermore, since the distribution server 1 handles the creation of image data for the text strings, and the label editing application 22 simply receives and displays that image data from the distribution server 1, the distribution source PC 2 does not need to create the image data, resulting in a low processing load.
[0106] For example, fonts that include kanji characters have a large number of characters and complex character shapes, resulting in a large font data size for storing font information. Therefore, when the label editing application 22 and the distribution server 1 work together to edit a string while switching fonts, the amount of communication increases, and a waiting time for font download may occur. In contrast, the distribution server 1 of the first embodiment returns image data of the string rather than font data, so the amount of communication is reduced compared to when font data is returned, and waiting times during text editing are less likely to occur.
[0107] (Second Embodiment) Next, the distribution server and label editing application of the second embodiment will be described. In the second embodiment, as shown in Figure 8, the backend application 12 returns the subset font obtained from the font server 8 to the label editing application 22, and the label editing application 22 creates image data based on the subset font. This differs from the first embodiment, in which the backend application 12 creates image data based on the subset font and returns it to the label editing application 22. In this embodiment, the differences from the first embodiment will be the main focus of the description, and common points will use the same reference numerals in the drawings as in the first embodiment, and explanations will be omitted as appropriate.
[0108] When the frontend application 11 receives a character data request (B22), it forwards the character data request to the backend application (B23). When the backend application 12 obtains a subset font from the font server 8 that is suitable for at least one of the sheet size and font size specified in the character data request (B24), it passes the obtained subset font to the frontend application 11 (B101). The frontend application 11 returns the subset font received from the backend application 12 to the source PC2 (B102).
[0109] When the label editing application 22 receives the returned subset font (B102), it creates image data of the string based on the received subset font (B103). For example, the label editing application 22 draws the outline of the entered string according to the glyphs contained in the subset font. The label editing application 22 also colors the inside of each character's outline and the background according to the character color and background color of the sheet set on the label editing screen D1. Furthermore, the label editing application 22 enlarges or reduces each character according to the font size set on the label editing screen D1. The label editing application 22 rasterizes the drawing data of the string to create image data. B102 is an example of the "subset font acquisition process". B103 is an example of the "creation process".
[0110] The label editing application 22 places the created string image data onto the selected text object OB11 and displays the string image data on the label editing screen D1 (B34). B34 is an example of the "created image display process".
[0111] In the second embodiment, the distribution server 1 returns a subset font to the distribution source PC 2 without creating image data. Therefore, compared to the case in the first embodiment where image data is returned to the distribution source PC 2, the amount of data transmitted is smaller, and the communication load for displaying the image of the string on the distribution source PC 2 is reduced.
[0112] The embodiments disclosed herein are merely illustrative and do not limit the present invention in any way. Therefore, the technology disclosed herein can naturally be improved and modified in various ways without departing from its essence. For example, the layout and content of each screen are not limited to the embodiments described above.
[0113] For example, distribution server 1 may not be connected to font server 8 in a communicative manner, but may store the font data it can use in its internal memory.
[0114] For example, distribution server 1 does not need to retrieve a subset font from font server 8, create image data, and return the image data to distribution PC 3 in response to a display request from distribution PC 3. However, even if distribution source PC 2 uploads label data to distribution server 1 and then distribution PC 3 requests to display that label data, distribution server 1 can retrieve a subset font for displaying a predetermined string set in the label data based on the font data of the server font set in the label data to be displayed, and use the retrieved subset font to display an image of the string set in the label data on distribution PC 3, thereby ensuring that the string in the font intended by the creator of the label data is displayed on distribution PC 3.
[0115] For example, E01 to E33 in Figure 4 may be omitted. However, the convenience is enhanced when the distribution server 1 accepts changes to the string or font included in the label data to be displayed in response to a display request from the destination PC 3, and can change the displayed image by obtaining a subset font according to the change. In addition, the distribution server 1 can change the font from among the server fonts available on the distribution server 1, so that the string in the font selected by the user is displayed on the destination PC 3.
[0116] For example, in the above embodiment, the distribution server 1 does not save the label data edited on the web editing screen D7 to the label DB 13. Alternatively, the distribution server 1 may save the label data edited on the web editing screen D7 to the label DB 13 as new label data. Furthermore, the distribution server 1 may overwrite existing label data with the label data edited on the web editing screen D7. When the distribution server 1 saves the edited label data as new label data or overwrites existing label data, the web editing screen D7 may receive an instruction to save or overwrite the edited label data, receive a distribution request (download instruction) via a screen other than the web editing screen D7, and distribute the edited label data to the source of the distribution request.
[0117] For example, in the above embodiment, the destination PC3 downloaded the saved label data in response to the operation of the download button SW62 in Figure 6. In contrast, the print application 32 may accept in advance the specification of the label data to be downloaded and the setting of the timing for sending the distribution request, and automatically send the distribution request to the distribution server 1. The timing for sending the distribution request may be a predetermined timing, such as when the print application 32 is started, or it may be at a regular timing, such as once a week. The distribution request that the print application 32 automatically sends is an example of a "second distribution request".
[0118] For example, if the uploaded label data is associated with a destination PC3, the distribution server 1 may push the label data to the specified destination PC3 at the timing set in the distribution server 1.
[0119] For example, the processing performed by the destination PC3 shown in Figure 4 may also be performed by the source PC2. In other words, the source PC2 may be an example of a requesting device.
[0120] In any sequence diagram disclosed in the embodiments, any multiple processes can be executed in any order or in parallel, provided that no inconsistencies arise in the processing content. For example, the order in which a string is entered or modified and the font is selected or modified does not matter. For example, the order in which the processes of drawing the outline of each character based on the glyph, coloring the area within the outline, coloring the background, and enlarging or reducing the characters may differ from those in the embodiments described above.
[0121] The processes disclosed in the embodiments may be executed by a single CPU, multiple CPUs, hardware such as an ASIC, or a combination thereof. Furthermore, the processes disclosed in the embodiments can be implemented in various forms, such as a recording medium or method that stores a program for executing the process. [Explanation of Symbols]
[0122] 1 Distribution Server 2. Source PC 3. Distribution destination: PC 5 Label printers 6 Network
Claims
1. A distribution server connected to a network, The aforementioned distribution server is When a font list request is received from a source device connected to the aforementioned network, The distribution server returns a list of server fonts, which are fonts available on the distribution server, to the distribution source device. The aforementioned distribution server further: When a character data request is received from the source device that has received the list of server fonts, the character data request specifies the string input to the source device and specific information that identifies the server font selected by the source device from the list of server fonts, Based on font data that stores information about the server font identified by the specific information specified in the received character data request, a subset font is obtained that includes the glyphs of each character constituting the string specified in the received character data request. Based on the acquired subset font, image data representing the string specified in the received character data request is created. The created image data is sent back to the distribution source device. A distribution server configured in this way.
2. A distribution server as described in claim 1, The aforementioned distribution server is The distribution server is capable of communicating with font servers that hold font data for each of the server fonts available on the distribution server. When the character data request is received from the distribution source device, The subset font included in the font data corresponding to the server font identified by the specific information specified in the received character data request, and which includes the glyphs of each character constituting the string specified in the received character data request, is obtained from the font server. Based on the subset font obtained from the font server, the image data representing the string specified in the received character data request is created. A distribution server configured in this way.
3. A distribution server as described in claim 1, The aforementioned font list request includes a sheet size, The aforementioned distribution server is When the font list request is received from the distribution source device, The distribution server returns to the distribution source device a list of server fonts available on the distribution server that are suitable for the sheet size specified in the received font list request. A distribution server configured in this way.
4. A distribution server as described in claim 1, The font list request includes a font size, The aforementioned distribution server is When the font list request is received from the distribution source device, The distribution server returns to the distribution source device a list of server fonts available on the distribution server that are suitable for the font size specified in the received font list request. A distribution server configured in this way.
5. A distribution server as described in claim 1, The aforementioned distribution server is When the distribution device that received the list of server fonts uploads label data from the distribution device, the label data having a predetermined string set as a component of the label, and having one of the identifying pieces of information that identifies the server font included in the received list of server fonts set as a font attribute, Save the uploaded label data. A distribution server configured in this way.
6. A distribution server as described in claim 5, The aforementioned distribution server is A first distribution request that specifies the destination printer, in response to a first distribution request that specifies the saved label data, The label data specified in the received first distribution request is distributed to the printer specified in the received first distribution request. A distribution server configured in this way.
7. A distribution server as described in claim 5, The aforementioned distribution server is Upon receiving a second distribution request from a distribution destination device connected to the aforementioned network, specifying the stored label data, The label data specified in the received second distribution request is distributed to the distribution destination device. A distribution server configured in this way.
8. A distribution server as described in claim 5, The aforementioned distribution server is When a request for display of one of the stored label data is received from a requesting device connected to the network, From the font data of the server font set in the specified label data, a display subset font is obtained that includes the glyphs of each character constituting the predetermined string set in the specified label data. Based on the acquired subset font for display, image data is created that shows the predetermined string to be set in the specified label data. The image of the predetermined string shown in the created image data is returned to the requesting device. A distribution server configured in this way.
9. A distribution server as described in claim 8, The aforementioned distribution server is After the requesting device displays the image of the predetermined string shown in the image data, if the requesting device receives a string change request that modifies the predetermined string shown in the displayed image data, and specifies the modified string, From the font data of the server font identified by the specific information set in the specified label data, a subset font for modification is obtained, which includes the glyphs of each character constituting the modified string specified in the string modification request. Based on the acquired subset font for modification, modified data is created, which is image data showing the modified string. The image of the modified string shown in the created modified data is returned to the requesting device. A distribution server configured in this way.
10. A distribution server as described in claim 8, The aforementioned distribution server is After the requesting device displays the image of the predetermined string shown in the image data, if it receives a font change request from the requesting device to change the server font identified by the specific information set in the specified label data, The distribution server can accept changes to the server font identified by the specific information set in the specified label data, from the list of server fonts available on the distribution server. When a change to the server font is accepted, a modified subset font is obtained from the font data of the modified server font, which includes the glyphs of each character constituting the predetermined string set in the specified label data. Based on the acquired subset font for modification, image data is created that shows the predetermined string to be set in the specified label data. The image of the predetermined string shown in the created image data is returned to the requesting device. A distribution server configured in this way.
11. A distribution server as described in claim 10, The aforementioned font change request includes a sheet size, The aforementioned distribution server is When the font change request is received from the requesting device, The distribution server accepts a change to the server font from a list of server fonts available on the distribution server that are suitable for the sheet size specified in the received font change request. A distribution server configured in this way.
12. A distribution server as described in claim 10, The aforementioned font change request includes a font size, The aforementioned distribution server is When the font change request is received from the requesting device, The distribution server accepts a change to the server font from a list of server fonts available on the distribution server that are suitable for the font size specified in the received font change request. A distribution server configured in this way.
13. A distribution server connected to a network, The aforementioned distribution server is When a font list request is received from a source device connected to the aforementioned network, The distribution server returns a list of server fonts, which are fonts available on the distribution server, to the distribution source device. The aforementioned distribution server further: When a character data request is received from the source device that has received the list of server fonts, the character data request specifies the string input to the source device and specific information that identifies the server font selected by the source device from the list of server fonts, Based on font data that stores information about the server font identified by the specific information specified in the received character data request, a subset font is obtained that includes the glyphs of each character constituting the string specified in the received character data request. The acquired subset font is returned to the distribution device. A distribution server configured in this way.
14. A label editing program that is executable on an information processing device connected to a network and has a label editing function, wherein a distribution server is connected to the network. The aforementioned information processing device, A server font acquisition process that obtains a list of server fonts, which are fonts available on the aforementioned distribution server, from the aforementioned distribution server, A server font selection process that selects one of the specific pieces of information that identify the server font from the list of server fonts obtained in the server font acquisition process, A string input process that inputs the string to be placed in the label, An image data receiving process sends a character data request to the distribution server specifying the specific information selected in the server font selection process and the string entered in the string input process, and receives image data returned from the distribution server in response to the character data request, which is an image of the server font selected in the server font selection process and shows the image of the string that was received as input in the string input process. A received image display process that displays the image shown in the image data received in the image data reception process on the user interface of the information processing device, To execute A label editing program configured as follows.
15. A label editing program that is executable on an information processing device connected to a network and has a label editing function, wherein a distribution server is connected to the network. The aforementioned information processing device, A server font acquisition process that obtains a list of server fonts, which are fonts available on the aforementioned distribution server, from the aforementioned distribution server, A server font selection process that selects one of the specific pieces of information that identify the server font from the list of server fonts obtained in the server font acquisition process, A string input process that inputs the string to be placed in the label, A subset font acquisition process that sends a character data request to the distribution server specifying the specific information selected in the server font selection process and the string entered in the string input process, and acquires the subset font that includes the glyphs of each character constituting the string received in the string input process, based on font data that stores information of the server font identified by the specific information selected in the server font selection process, which is returned from the distribution server in response to the character data request. A creation process to create image data that, based on the subset font acquired in the subset font acquisition process, is an image of the server font identified by the specific information selected in the server font selection process, and which represents the image of the string received as input in the string input process; A created image display process that displays the image shown in the image data created in the creation process on the user interface of the information processing device, To execute A label editing program configured as follows.
Citation Information
Patent Citations
Label-issuing network system
JP2001325084A