Personalized fonts
By generating personalized fonts through deep learning technology and convolutional neural networks, the problem of lack of personalization of standard fonts in existing technologies is solved, and personalized font communication unique to users is realized, thus improving the user experience.
Patent Information
- Application Number
- CN202510715919.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2019-09-23
- Filing Date
- 2020-08-24
- Publication Date
- 2025-09-12
AI Technical Summary
In the prior art, text communications on electronic devices typically use standardized computer fonts, which lack personalization and appeal and cannot meet the unique needs of users.
Through deep learning technology, convolutional neural networks (CNN) are used to generate personalized fonts, combining the user's personalized parameters and font templates to create unique personalized fonts, and the personalized font management engine coordinates communication between the device and the server.
This enables each user to use a unique personalized font for text communication, enhancing the attractiveness and personalization of the user experience.
Smart Images

Figure CN120633588A_ABST
Abstract
Description
This application is a divisional application of the invention patent with the invention name “Personalized Font”, the application date is August 24, 2020, and the application number is 202080066725.4. CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to U.S. Provisional Patent Application No. 62 / 904,114, filed on September 23, 2019, entitled “Personalized Fonts,” the contents of which are incorporated herein by reference in their entirety. Technical Field
[0002] The present subject matter relates to electronic devices and, more particularly, to creating and using personalized fonts to enhance communications using electronic devices. Background Art
[0003] Text communication is a common form of communication between users of electronic devices, such as text messaging. Standardized computer fonts are often used for text communication. Computer fonts (or typefaces) are typically implemented as digital data files containing a set of graphically related glyphs, characters, or symbols. BRIEF DESCRIPTION OF THE DRAWINGS
[0004] The accompanying drawings illustrate one or more embodiments by way of example only, and not by way of limitation.In the accompanying drawings, like reference numerals indicate the same or similar elements.
[0005] Figure 1 is a block diagram illustrating a system configured to create and use personalized fonts;
[0006] Figure 2 is a block diagram illustrating communication with a personalized font;
[0007] Figure 3 is a block diagram illustrating a personalized font creation engine for creating personalized fonts;
[0008] Figure 4 is a block diagram illustrating a personalized font management engine for communicating with personalized fonts;
[0009] Figure 5A is an illustration of a sample base font for creating a personalized font;
[0010] Figure 5B is a diagram representing an example of a personalized font;
[0011] Figure 6A 、 6B , 6C, and 6D are representative examples of character features in personalized fonts;
[0012] Figure 7A is a flow chart illustrating example steps for creating a personalized font;
[0013] Figure 7B is a flow chart illustrating example steps for managing communications with personalized fonts;
[0014] Figure 8 is a high-level functional block diagram of an exemplary client device including a mobile device that communicates with a server system via a network;
[0015] Figure 9 is a diagrammatic representation of a machine in the form of a computer system within which, according to some examples, a set of instructions may be executed to cause the machine to perform any one or more of the methodologies discussed herein; and
[0016] Figure 10 is a block diagram illustrating a software architecture in which the present invention may be implemented according to an example. DETAILED DESCRIPTION
[0017] One aspect of the present invention describes the creation and use of personalized fonts. Deep learning technology automatically creates personalized fonts for use, for example, in the "chat" section of a mobile device application. This allows each user to chat using a personalized font that is unique to the user, for example, providing a more engaging user experience.
[0018] The following description includes systems, methods, techniques, instruction sequences, and computer program products that illustrate the present invention. In the following description, for explanatory purposes, numerous specific details are set forth to provide an understanding of the disclosed subject matter. However, it will be apparent to those skilled in the art that the examples of the disclosed subject matter may be practiced without these specific details. In general, well-known instruction examples, protocols, structures, and techniques are not necessarily presented in detail.
[0019] Figure 1 is a block diagram illustrating a system 100 configured for creating and using personalized fonts according to some examples; system 100 includes one or more client devices, such as client device 110. Client device 110 includes, but is not limited to, a mobile phone, a desktop computer, a laptop computer, a portable digital assistant (PDA), a smartphone, a tablet computer, an ultrabook, a netbook, a notebook computer, a multi-processor system, a microprocessor-based or programmable consumer electronic product, a game console, a set-top box, an in-car computer, or any other communication device that a user can use to access system 100. In some examples, client device 110 includes a display module (not shown) that displays information (e.g., in the form of a user interface). In further examples, client device 110 includes one or more of a touch screen, an accelerometer, a gyroscope, a camera, a microphone, a global positioning system (GPS) device, and the like. Client device 110 can be a user device used to access and utilize an online social platform.
[0020] For example, client device 110 is a given user device that uses application 114 on an online social platform, a gaming platform, and a communication application. Client device 110 accesses a website, such as an online social platform, hosted by server system 108. The user enters login credentials associated with the user. Server system 108 receives the request and provides access to the online social platform.
[0021] A user of client device 110 launches and uses an application 114 hosted by server system 108. Client device 110 includes one or more personalized font modules 116, which include a processor that runs client-side code for creating and / or using personalized fonts on client device 110.
[0022] The one or more users may be humans, machines, or other means of interacting with the client device 110. In an example, a user may not be part of the system 100, but may interact with the system 100 through the client device 110 or other means. For example, a user may provide input (e.g., touch screen input, alphanumeric input, voice input, or visual input) to the client device 110, and the input may be transmitted to other entities in the system 100 (e.g., third-party servers 128, server system 108, etc.) via the network 102 (e.g., the Internet). In this case, the other entities in the system 100, in response to receiving the input from the user, may communicate information to be presented to the user to the client device 110 via the network 102. In this way, the user interacts with various entities in the system 100 using the client device 110.
[0023] One or more portions of network 102 may be an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless local area network (WLAN), a wide area network (WAN), a wireless wide area network (WWAN), a metropolitan area network (MAN), a portion of the Internet, a portion of the public switched telephone network (PSTN), a cellular telephone network, a wireless network, a WiFi network, a 4G LTE network, another type of network, or a combination of two or more such networks.
[0024] The client device 110 can access various data and applications provided by other entities in the system 100 via a web client 112 (e.g., a browser) or one or more client applications 114. The client device 110 can include one or more client applications 114 (also referred to as "apps"), such as, but not limited to, a web browser, a messaging application, a multi-player gaming application, an electronic mail (email) application, an e-commerce site application, a mapping or location application, and the like.
[0025] In some examples, one or more client applications 114 are included in one of the given client devices 110 and are configured to provide a user interface and at least some functionality locally, and the client applications 114 are configured to communicate with other entities in the system 100 (e.g., third-party servers 128, server systems 108, etc.) as needed to obtain data processing capabilities that are not available locally (e.g., access location information, authenticate users, etc.). Conversely, one or more client applications 114 may not be included in the client device 110, and the client device 110 may then use its web browser to access one or more applications hosted on other entities in the system 100 (e.g., third-party servers 128, server systems 108, etc.).
[0026] The server system 108 provides server-side functionality to one or more third-party servers 128 and one or more client devices 110 via a network 102 (e.g., the Internet or a wide area network (WAN)). The server system 108 includes an application server 104, which includes an application program interface (API) server 120, a web server 122, and one or more personalized font modules 124, which can be communicatively coupled to one or more databases 126. The one or more databases 126 can be storage devices that store data related to users of the server system 108, applications associated with the server system 108, cloud services, etc. The one or more databases 126 can further store information related to the third-party servers 128, third-party applications 130, client devices 110, client applications 114, users, etc. In one example, the one or more databases 126 can be cloud-based storage.
[0027] According to some examples, server system 108 can be a cloud computing environment.In one example, server system 108 and any servers associated with server system 108 can be associated with a cloud-based application.
[0028] The one or more client device personalized font modules 116 and the one or more application personalized font modules 124 are stored on the device 110 and / or server 108 to optimize processing efficiency. In some examples, all modules for performing a specific task (such as creating a font) are stored on the device / server performing the operation. In other examples, some modules for performing a task are stored on the device 110 and other modules for performing the task are stored on the server 108 and / or other devices. In some examples, modules can be replicated on the device 110 and the server 108.
[0029] The one or more third-party applications 130 executing on the third-party server 128 can interact with the server system 108 via the API server 120 through a programming interface provided by the API server 120. For example, the one or more third-party applications 130 can request and utilize information from the server system 108 via the API server 120 to support one or more features or functions on a website hosted by the third party or an application hosted by the third party. For example, the third-party application 130 can provide software version analysis functionality supported by relevant functions and data in the server system 108.
[0030] Figure 2 An overview of one example for communicating between multiple user devices 110a-n using personalized fonts is provided. Figure 2 Each mobile device 110 in the example embodiment includes a respective screen 200a-n. On the respective screens, text originating from the mobile device 110 is depicted adjacent to the right edge of the screen 200, and text received from another device 110 is depicted adjacent to the left edge of the screen 200. The server system 108 coordinates communications between the devices 110 over the network 102.
[0031] The user of device 110a first creates a personalized font (e.g., a font for depicting "Hello" 202 on screen 200a; e.g., font 550; FIG5 b), and the user of device 110b creates another personalized font (e.g., a font for depicting "Hi" on screen 200b). The user of device 110a sends a text message "Hello" 202 to the users of other devices 110b-n. The other devices 110b-n display the text message "Hello" 202 in the personalized font of the user of device 110a. The user of device 110b responds with a text message "Hi!" 204 to the users of the other devices 110a and cn. The other devices 110a and cn display the text message "Hi!" 204 in the personalized font of the user of device 110b. Thus, each user of device 110 can have their own personalized font for text communications.
[0032] Figure 3 A personalized font creation engine 300 is depicted. The personalized font creation engine 300 includes a personalization parameter module 302, a font template module 304, a style application module 306 (e.g., a module implementing a neural style transfer algorithm; NST), and a personalized font storage module 308. When executed (e.g., by a processor within the device 110 and / or server 108), the modules of the engine 300 enable a user to create a personalized font and store the personalized font for later use.
[0033] The personalized parameter module 302 collects one or more personalized parameters of the user and / or one or more personalized parameters associated with the user for use in creating a personalized font. The personalized parameters may be selected by the user or automatically determined by the device. The personalized parameters may include one or more images or image collections (e.g., favorite paintings, favorite pictures, images viewed most by the client device 110, pictures of existing fonts, etc.), or other parameters associated with the user.
[0034] The font template module 304 identifies a font template suitable for creating a personalized font. In one example, the font template module includes a single base font, such as font 500 (including a plurality of characters 502a-n; Figure 5A In another example, the font template module 304 includes multiple base fonts for the user to select. In yet another example, the font template module 304 requests base font information from the user. For example, the font template module may receive an image from the user that includes one or more characters of an existing font and process the image to extract font features of the one or more characters. The module then generates a font using the extracted font attribute features.
[0035] The style application module 306 creates a personalized font based on the personalized parameters and the font template. The font template module creates a personalized font, which is composed of a font 550 (including a plurality of characters 552a-n; Figure 5A ) indicates that this is a simplified representation for descriptive purposes.
[0036] In one example, the style application module 306 feeds a base font (e.g., font 550; Figure 5A ), and samples the network excitations within the neural network architecture at a later stage to obtain the "content". The personalized parameters are then fed through the same convolutional neural network, and the network excitations are sampled within the neural network architecture at an earlier stage (e.g., early to mid-stage). The style application module 306 then encodes the excitations of the personalized parameters into a matrix representation (e.g., a Gram matrix representation) to obtain the "style". The style application module 306 applies iterative optimization (e.g., gradient descent) through samples and excitations to synthesize a personalized output font that exhibits the content of the base font with the personalized parameter style applied. Those skilled in the art will understand other techniques for creating personalized fonts using neural style transfer from the description herein.
[0037] The personalized font storage module 308 stores the personalized fonts (e.g., in the device 110 and / or the server 108) for later use. The personalized font storage module can create bitmap fonts or vector fonts. In one example, the font is stored in a color font file, which is a conventional computer font file that has additional data embedded to display more graphical attributes than just the character outline shape. Color fonts can be stored in an OpenType font file as scalable vector graphics (SVG) data, which can contain vector shapes with colors or gradients, and can also include bitmap images. Like any conventional font, color fonts based on vector icons can be resized without losing any content. Color bitmap fonts, like any other photo- or pixel-based image, will be scaled up to a certain size based on their original resolution. Letters above that resolution may appear pixelated. In addition, pixelation may occur if the image used for personalization is much smaller than the font.
[0038] Figure 4 Depicted is a personalized font management engine 400. The personalized font management engine 400 includes a personalized font selection module 402, a personalized font assignment module 404, a personalized font retrieval module 406, and a personalized font display module 408. When executed (e.g., by a processor within the device 110 and / or server 108), the modules of the engine 400 enable text communications using personalized fonts.
[0039] The personalized font selection module 402 selects a personalized font for text communication. In one example, the personalized font selection module 402 presents a plurality of fonts, including one or more personalized fonts, to the user in response to a manual selection request by the user. In another example, the personalized font selection module 402 automatically selects a personalized font in response to a user's previous default identification.
[0040] The personalized font assignment module 404 assigns the personalized font file. In an example, the personalized font assignment module 404 monitors the device 110 (e.g., the source device) to identify other devices 110 to which a text communication is being or will be sent. The personalized font assignment module 404 can identify the intended recipient of the text message, or can identify, for example, a contact identified as a "friend" in a social media application. The personalized font assignment module 404 can send the font file including the personalized font to the intended recipient (e.g., for storage and caching and subsequent use when a message is received from a user device corresponding to the personalized font).
[0041] The personalized font retrieval module 406 retrieves a personalized font for displaying text communications from a user device corresponding to the personalized font. In an example, the personalized font retrieval module 406 monitors source information of a received text communication (e.g., based on a user identification (ID)) and compares the source information with a database of personalized fonts to identify a match. If a match is identified, the personalized font retrieval module retrieves the personalized font corresponding to the identified match.
[0042] The personalized font display module 408 displays the text communication in the sender's personalized font on the recipient's device. The personalized font display module 408 can be displayed on the display 200 as follows: Figure 2 Device 110 is shown displaying a text communication.
[0043] Figure 5A A font 500 is depicted, which represents a base font for creating a personalized font. The font 500 includes a plurality of characters 502a-n. Although only uppercase letters are depicted, it should be understood that the characters may include one or more of uppercase letters, lowercase letters, special characters, symbols, icons, emoticons, etc.
[0044] Figure 5B A font 550 representing a personalized font created by applying personalized parameters to a base font is depicted. Personalized font 550 includes a plurality of characters 552a-n. While only uppercase letters are depicted, it should be understood that the characters may include one or more of uppercase letters, lowercase letters, special characters, symbols, icons, emoticons, and the like. Each personalized font includes one or more attributes, which may include, for example, non-limiting examples, font size, font weight, font color, rotation, texture, design, and the like.
[0045] Figures 6A-6D Depicts representative examples of features included in personalized fonts. Figure 6A In FIG, character 600 is a rotated character. Character 600 is depicted with coordinate lines 602 to facilitate identification of attributes. Figure 6B In the figure, character 604 is an enlarged character. Figure 6C , character 606 is a horizontally lengthened and shrunk character.
[0046] exist Figure 6D In FIG, character 608 includes a plurality of features. Character 608 includes a rounded portion 610 and an angled portion 612. In the example shown, character 608 includes a first colored portion 614a and a second colored portion 614b extending over a portion of the character. For example, each colored portion 614 may be a portion of a user's In another example, the solid color portion 614a may extend over the entire character.
[0047] Figure 7A Depicted is a flowchart 700 illustrating example steps for creating a personalized font. Figure 7B A flowchart 750 illustrating example steps for managing personalized fonts for text communications is depicted. These steps are described with reference to the hardware described herein, but are not limited to such implementations. Although shown as occurring continuously, Figure 7A and 7B The blocks may be reordered or implemented in parallel according to the embodiment. In addition, those skilled in the art will understand from the description herein that one or more steps / blocks may be omitted and one or more additional / alternative steps may be combined.
[0048] At block 702 , a font template is obtained. The font template module 304 may obtain the font template from a database stored in a memory of the device 110 or the server 108 .
[0049] At block 704, a personalized parameter is received.The personalized parameter module 302 may receive a personalized parameter selection from a user via a user input device such as a touch screen to identify the personalized parameter.
[0050] At block 706 , a personalized font is created by style conversion of the image. The style application module 306 may create a personalized font by applying personalized parameters to the obtained font template.
[0051] At block 708 , the personalized font is stored. The personalized font storage module 308 may store the personalized font in memory of the client device 110 and / or the server 108 .
[0052] Reference Figure 7B 750 , at block 752 , a personalized font request is received. The personalized font selection module 402 may receive the personalized font request from the user via a user input device such as a touch screen or a microphone.
[0053] At block 754, the target device is identified. The personalized font assignment module 404 may identify the target device. For example, the personalized font assignment module 404 may monitor a communication application to identify the intended recipient of a message, or may monitor a social media application to identify "friends" of the user who may be the target device for future text communications.
[0054] At block 756, the personalized font file is shared with the target device.The personalized font distribution module 404 on the sender device may share the personalized font file with the target device directly or through a cloud server (for example).
[0055] The font file is stored on the target device at block 758. The personalized font assignment module 404 at the target / recipient device may store the personalized font file in a cache for quick retrieval when displaying a message from the sender in the personalized font associated with the sender.
[0056] At block 760, a message is sent to the target device. The communication application may send a message to the target device. The message may include a user ID identifying the sender of the message.
[0057] At block 764, the message is displayed at the target device in the sender's personalized font. The personalized font display module 408 can display the message at the target device in the sender's personalized font, for example, by comparing the user ID with a list of user IDs for which personalized fonts have been received and retrieving the personalized font associated with the user ID when a match is identified. The message can then be displayed using the retrieved personalized font.
[0058] Figure 8 is included via network 102 with Figure 9 108. A high-level functional block diagram of an exemplary client device 110 of a mobile device that communicates with a server system 108 of FIG. 109. Components of a touch screen type mobile device 890 are shown, but other non-touch type mobile devices may also be used. Examples of touch screen type mobile devices that may be used include, but are not limited to, smartphones, personal digital assistants (PDAs), tablet computers, laptop computers, or other portable devices. However, the structure and operation of touch screen type devices are provided by way of example, and the subject technology described herein is not intended to be limited thereto. Therefore, for purposes of discussion, Figure 8 A block diagram of an exemplary mobile device 110 is provided having a touch screen display for displaying content and receiving user input as (or part of) a user interface. The mobile device 890 also includes a camera 870 (eg, a visible light camera) and a microphone 880.
[0059] The focus of this discussion is on creating and managing personalized fonts. The personalized font creation engine 300 can be stored in the memory 840 for the CPU 830 to create personalized fonts. The personalized font management engine 400 can be stored in the memory 840 for the CPU 830 to manage personalized fonts.
[0060] like Figure 8As shown, the mobile device 110 includes at least one digital transceiver (XCVR) 810, shown as a WWAN XCVR, for digital wireless communication via the wide area wireless mobile communication network 102. The mobile device 110 also includes additional digital or analog transceivers, such as a short-range XCVR 820 for short-range network communication, such as via NFC, VLC, DECT, ZigBee, Bluetooth TM For example, the short-range XCVR 820 may take the form of any available two-way wireless local area network (WLAN) transceiver of a type compatible with one or more standard communication protocols implemented in wireless local area networks, such as IEEE 802.11 and one of the Wi-Fi standards under 4G LTE.
[0061] To generate location coordinates for positioning the mobile device 890, the mobile device 890 may include a global positioning system (GPS) receiver (not shown). Alternatively, or in addition, the mobile device 110 may utilize one or both of the short-range XCVR 820 and the WWAN XCVR 810 to generate location coordinates for positioning. For example, a cellular network, WiFi, or Bluetooth-based TM The positioning system can generate very accurate position coordinates, especially when used in combination. Such position coordinates can be transmitted to the eyewear device via the XCVR 820 through one or more network connections.
[0062] Transceivers 810 and 820 (network communication interfaces) conform to one or more of the various digital wireless communication standards used by modern mobile networks. Examples of WWAN transceivers 810 include, but are not limited to, transceivers configured to operate in accordance with Code Division Multiple Access (CDMA) and Third Generation Partnership Project (3GPP) network technologies, including, but not limited to, Third Generation Partnership Project 2 (or 3GPP2) and LTE, sometimes referred to as "4G." For example, transceivers 810 and 820 provide two-way wireless information communication, including digitized audio signals, still images and video signals, web page information for display and input related to the web page, and various types of mobile messaging communications with mobile device 110 for user identification strategies.
[0063] As previously described, some of these types of communications through transceivers 810, 820 and the network involve protocols and procedures that support communication with server system 108 to obtain and store friend device capabilities. Figure 1 As shown, such communications may be performed by transmitting packet data to or from the server system 108 via a short-range XCVR 820 over a wireless connection of the network 102. For example, such communications may also be performed by Figure 1The network (eg, the Internet) 102 is shown transmitting data using IP packet data transmission via the WWAN XCVR 810. Both the WWAN XCVR 810 and the short-range XCVR 820 are connected to associated antennas (not shown) via radio frequency (RF) transceiver amplifiers (not shown).
[0064] The mobile device 110 also includes a microprocessor 830, shown as a CPU, sometimes referred to herein as a host controller. A processor is a circuit whose elements are constructed and arranged to perform one or more processing functions, typically various data processing functions. Although discrete logic components can be used, components that constitute a programmable CPU are used in the examples. For example, the microprocessor includes one or more integrated circuit (IC) chips that contain electronic components that perform the functions of the CPU. For example, the processor 830 can be based on any known or available microprocessor architecture, such as reduced instruction set computing (RISC) using the ARM architecture, as commonly used today in mobile devices and other portable electronic devices. Other processor circuits can be used to form the CPU 830 or processor hardware in smartphones, laptops, and tablets.
[0065] The microprocessor 830 acts as a programmable host controller for the mobile device 110 by configuring the mobile device to perform various operations, e.g., according to instructions or programs executable by the processor 830. For example, such operations may include various general operations of the mobile device, as well as operations related to performance metric monitoring, personalized fonts, reporting to the server system 108, and gating. Although the processor may be configured using hard-wired logic, a typical processor in a mobile device is a general processing circuit that is configured by executing programming.
[0066] Mobile device 110 includes a memory or storage device system for storing data and programming. In an example, the memory system may include flash memory 840A and random access memory (RAM) 840B. Random access memory 840B is used as short-term storage for instructions and data processed by processor 830, such as for working data processing memory. Flash memory 840A generally provides longer-term storage. Flash memory 840A and / or random access memory 840B may include a personalized font cache 845 for storing personalized fonts.
[0067] Thus, in the example of mobile device 110, flash memory 840A is used to store programs or instructions executed by processor 830. Depending on the type of device, mobile device 110 stores and runs a mobile operating system through which certain applications, including application 114, are executed. Examples of mobile operating systems include Google Apple (I-Phone or iPad device), Windows Amazon Fire RIM Operating system, etc.
[0068] Figure 9 The present invention is a diagrammatic representation of a machine 900 within which instructions 908 (e.g., software, a program, an application, an applet, an app, or other executable code) may be executed to cause the machine 900 to perform any one or more of the methodologies discussed herein. For example, the instructions 908 may cause the machine 900 to perform any one or more of the methodologies described herein. The instructions 908 transform a general, unprogrammed machine 900 into a specialized machine 900 that is programmed to perform the functions described and illustrated in the manner described. The machine 900 may operate as a standalone device or may be coupled (e.g., using a network) to other machines. In a networked deployment, the machine 900 may operate in the capacity of a server or a client user machine in server-client user network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine 900 may include, but is not limited to, a server computer, a client computer, a personal computer (PC), a tablet computer, a laptop computer, a netbook computer, a set-top box (STB), a PDA, an entertainment media system, a cellular phone, a smart phone, a mobile device, a wearable device (e.g., a smart watch), a smart home device (e.g., a smart appliance), other smart devices, a web appliance, a network router, a network switch, a network bridge, or any machine capable of executing instructions 908, sequentially or otherwise, that specify actions to be taken by the machine 900. Furthermore, while only a single machine 900 is shown, the term "machine" should also be construed to include a collection of machines that individually or jointly execute instructions 908 to perform any one or more of the methodologies discussed herein.
[0069] The machine 900 may include a processor 902, a memory 904, and an input / output component 942, which may be configured to communicate with each other via a bus 944. In an example, the processor 902 (e.g., a central processing unit (CPU), a reduced instruction set computing (RISC) processor, a complex instruction set computing (CISC) processor, a graphics processing unit (GPU), a digital signal processor (DSP), an ASIC, a radio frequency integrated circuit (RFIC), another processor, or any suitable combination thereof) may include, for example, a processor 906 that executes instructions 908 and a processor 910. The term "processor" is intended to include multi-core processors, which may include two or more independent processors (sometimes referred to as "silicon cores") that may execute instructions concurrently. Although Figure 9A plurality of processors 902 is shown, but the machine 900 may include a single processor having a single core, a single processor having multiple cores (eg, a multi-core processor), multiple processors having a single core, multiple processors having multiple cores, or any combination thereof.
[0070] The memory 904 includes a main memory 912, a static memory 914, and a storage unit 916, all of which are accessible to the processor 902 via the bus 944. The main memory 904, the static memory 914, and the storage unit 916 store instructions 908 that embody any one or more of the methodologies or functions described herein. The instructions 908 may also reside, in whole or in part, within the main memory 912, within the static memory 914, within a machine-readable medium 918 (e.g., a non-transitory machine-readable storage medium) in the storage unit 916, within at least one of the processors 902 (e.g., within a cache memory of the processor), or any suitable combination thereof during execution by the machine 900.
[0071] Furthermore, machine-readable medium 918 is non-transitory (in other words, it does not contain any transient signals) because it does not contain propagating signals. However, labeling machine-readable medium 918 as "non-transitory" should not be interpreted as meaning that the medium cannot be moved; the medium should be considered transportable from one physical location to another. Furthermore, because machine-readable medium 918 is tangible, the medium can be a machine-readable device.
[0072] The input / output components 942 may include a variety of components for receiving input, providing output, generating output, sending information, exchanging information, capturing measurements, etc. The specific input / output components 942 included in a particular machine will depend on the type of machine. For example, a portable machine such as a mobile phone may include a touch input device or other such input mechanism, while a headless server machine will most likely not include such a touch input device. It should be understood that the input / output components 942 may include Figure 9Many other components are not shown in the figure. In various examples, the input / output component 942 may include an output component 928 and an input component 930. The output component 928 may include a visual component (e.g., a display such as a plasma display panel (PDP), a light emitting diode (LED) display, a liquid crystal display (LCD), a projector, or a cathode ray tube (CRT)), an acoustic component (e.g., a speaker), a tactile component (e.g., a vibration motor, a resistance mechanism), other signal generators, etc. The input component 930 may include an alphanumeric input component (e.g., a keyboard, a touch screen configured to receive alphanumeric input, an optical keyboard, or other alphanumeric input component), a point-based input component (e.g., a mouse, a touch pad, a trackball, a joystick, a motion sensor, or other pointing device), a tactile input component (e.g., a physical button, a touch screen or other tactile input component that provides touch location and force or touch gestures), an audio input component (e.g., a microphone), etc.
[0073] In further examples, the input / output component 942 may include a biometric component 932, a motion component 934, an environmental component 936, or a position component 938, as well as various other components. For example, the biometric component 932 includes components for detecting expressions (e.g., hand expressions, facial expressions, voice expressions, body postures, or eye tracking), measuring biosignals (e.g., blood pressure, heart rate, body temperature, sweat, or brain waves), identifying individuals (e.g., voice recognition, retinal recognition, facial recognition, fingerprint recognition, or electroencephalogram-based recognition), etc. The motion component 934 includes an acceleration sensor component (e.g., an accelerometer), a gravity sensor component, a rotation sensor component (e.g., a gyroscope), etc. The environment component 936 includes, for example, an illumination sensor component (e.g., a photometer), a temperature sensor component (e.g., one or more thermometers for detecting ambient temperature), a humidity sensor component, a pressure sensor component (e.g., a barometer), an acoustic sensor component (e.g., one or more microphones for detecting background noise), a proximity sensor component (e.g., an infrared sensor for detecting nearby objects), a gas sensor (e.g., a gas detection sensor for detecting hazardous gas concentrations to ensure safety or measuring pollutants in the atmosphere), or other components that may provide indications, measurements, or signals corresponding to the surrounding physical environment. The position component 938 includes a position sensor component (e.g., a GPS receiver component), an altitude sensor component (e.g., an altimeter or barometer for detecting air pressure, from which altitude can be derived), a direction sensor component (e.g., a magnetometer), etc.
[0074] A variety of technologies can be used to implement communications. Input / output components 942 further include a communication component 940 that can be used to couple machine 900 to network 102 and client device 110 via coupling 924 and coupling 926, respectively. For example, communication component 940 can include a network interface component or another suitable device that interfaces with network 102. In further examples, communication component 940 can include a wired communication component, a wireless communication component, a cellular communication component, a near field communication (NFC) component, Components (e.g. Low power consumption), Components, and other communication components that provide communication through other means. Device 922 can be another machine or any of a variety of peripheral devices (e.g., a peripheral device coupled via USB).
[0075] In addition, the communication component 940 can detect an identifier, or include a component that can be used to detect an identifier. For example, the communication component 940 can include a radio frequency identification (RFID) tag reader component, an NFC smart tag detection component, an optical reader component (for example, for detecting one-dimensional bar codes such as universal product codes (UPC) bar codes, multi-dimensional bar codes such as Quick Response (QR) codes, Aztec codes, Data Matrix, Dataglyph, MaxiCode, PDF417, Ultra Code, UCC RSS-2D bar codes, and other optical codes), or an acoustic detection component (for example, a microphone for identifying a tag audio signal). In addition, various information can be obtained via the communication component 940, such as a location via Internet Protocol (IP) geolocation, a location via Internet Protocol (IP), ... Location of signal triangulation, location via detection of NFC beacon signals that can indicate a specific location, etc.
[0076] Various memories (e.g., memory 904, main memory 912, static memory 914, memory of processor 902) and storage unit 916 may store one or more sets of instructions and data structures (e.g., software) that embody or enable the use of any one or more of the methods or functions described herein. When these instructions (e.g., instructions 908) are executed by processor 902, various operations are performed to implement the disclosed examples.
[0077] Instructions 908 may be transmitted or received over network 102 using transmission media via a network interface device (e.g., a network interface component included in communication component 940) and using any of a number of known transmission protocols (e.g., Hypertext Transfer Protocol (HTTP)). Similarly, instructions 908 may be sent or received to device 922 using transmission media via coupling 926 (e.g., a peer-to-peer coupling).
[0078] Figure 10 10 is a block diagram 1000 illustrating a software architecture 1004 that can be installed on any one or more of the devices described herein. The software architecture 1004 is supported by hardware, such as a machine 1002 including a processor 1020, a memory 1026, and input / output components 1038. In this example, the software architecture 1004 can be conceptualized as a stack of layers, each providing specific functionality. The software architecture 1004 includes layers such as an operating system 1012, a library 1010, a framework 1008, and an application 1006. In operation, the application 1006 invokes an API call 1050 through the software stack and receives a message 1052 in response to the API call 1050.
[0079] The operating system 1012 manages hardware resources and provides common services. The operating system 1012 includes, for example, a kernel 1014, services 1016, and drivers 1022. The kernel 1014 acts as an abstraction layer between the hardware layer and other software layers. For example, the kernel 1014 provides functions such as memory management, processor management (e.g., scheduling), component management, networking, and security settings. Services 1016 can provide other common services for other software layers. Drivers 1022 are responsible for controlling or interfacing with the underlying hardware. For example, drivers 1022 may include display drivers, camera drivers, or Low-power drivers, Flash memory drivers, serial communication drivers (e.g., Universal Serial Bus (USB) drivers), Drivers, audio drivers, power management drivers, etc.
[0080] The library 1010 provides a low-level, general-purpose infrastructure used by the application 1006. The library 1010 may include a system library 1018 (e.g., a C standard library) that provides functions such as memory allocation functions, string processing functions, mathematical functions, etc. In addition, the library 1010 may include an API library 1024, such as a media library (e.g., a library that supports rendering and manipulating various media formats such as Moving Picture Experts Group-4 (MPEG4), Advanced Video Coding (H.264 or AVC), Moving Picture Experts Group Layer-3 (MP3), Advanced Audio Coding (AAC), Adaptive Multi-Rate (AMR) audio codec, Joint Photographic Experts Group (JPEG or JPG), or Portable Network Graphics (PNG), etc.), a graphics library (e.g., an OpenGL framework for rendering graphical content in two-dimensional (2D) and three-dimensional (3D) forms on a display), a database library (e.g., SQLite that provides various relational database functions), a web library (e.g., WebKit that provides web browsing functions), etc. The library 1010 may also include a variety of other libraries 1028 to provide many other APIs to the application 1006.
[0081] The framework 1008 provides a high-level, general-purpose infrastructure used by the applications 1006. For example, the framework 1008 provides various graphical user interface (GUI) features, advanced resource management, and advanced location services. The framework 1008 may also provide a wide range of other APIs that the applications 1006 can use, some of which may be specific to a particular operating system or platform.
[0082] In an example, the applications 1006 may include a homepage application 1036, a contact application 1030, a browser application 1032, a book reader application 1034, a location application 1042, a media application 1044, a messaging application 1046, a game application 1048, and a variety of other applications, such as third-party applications 1040. The applications 1006 are programs that perform the functions defined in the program. Various programming languages can be used to create one or more applications 1006 structured in various ways, such as object-oriented programming languages (e.g., Objective-C, Java, or C++) or programming languages (e.g., C or assembly language). In a specific example, the third-party applications 1040 (e.g., those developed by entities other than the vendor of a specific platform using ANDROID) may be used. TM or IOS TM Software Development Kit (SDK) can be used to develop applications on IOS TM ANDROID TM 、 Mobile software running on a mobile operating system such as iOS or other mobile operating systems such as iPhone. In this example, third-party applications 1040 can call API calls 1050 provided by the operating system 1012 to facilitate the functions described herein.
[0083] It will be understood that the terms and expressions used herein have the ordinary meaning accorded to them in relation to their respective fields of inquiry and study, unless otherwise specified herein. Relational terms such as "first" and "second" and the like may be used solely to distinguish one entity or action from another without necessarily requiring or implying any actual such relationship or order between such entities or actions. The terms "comprises," "including," "contains," "includes," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises or includes a list of elements or steps includes not only those elements or steps but also other elements or steps not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element preceded by "a" or "an" does not exclude the presence of the same element in the process, method, article, or apparatus that includes the element.
[0084] Furthermore, in the foregoing detailed description, it can be seen that various examples group various features together for the purpose of streamlining the disclosure. This method of disclosure should not be interpreted as reflecting an intention that the claimed examples require more features than expressly recited in each claim. Rather, as the following claims reflect, claimed subject matter lies in less than all features of any single disclosed example.Thus, the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separately claimed subject matter.
[0085] The examples shown herein should be described in sufficient detail to enable those skilled in the art to practice the disclosed teachings. Other examples may be used and derived therefrom, so that structural and logical substitutions and changes can be made without departing from the scope of this disclosure. Therefore, this detailed description is not to be construed in a limiting sense, and the scope of the various examples is to be limited solely by the appended claims and the full scope of equivalents to such claims.
[0086] The following description will partially set forth other objects, advantages, and novel features of the examples. These other objects, advantages, and novel features will be apparent to those skilled in the art upon review of the following text and the accompanying drawings, or may be learned by making or operating the examples. The objects and advantages of the present subject matter may be realized and obtained by the methods, means, and combinations particularly pointed out in the appended claims.
Claims
1. A personalized font management system, the management system comprising a processor implemented on a device, the processor being configured to: In response to a user selection, selecting a personalized font for use in sending a text message to an intended recipient; identifying intended recipients of the text message by monitoring the device to identify other devices to which the device is sending text communications, and distributing the selected personalized font to the other devices identified as sending text communications; Retrieving another personalized font for use in displaying received text communications; and The received text communication is displayed in another personalized font.
2. The personalized font management system according to claim 1, wherein the personalized font management system is implemented on an eye-mounted device.
3. The personalized font management system according to claim 1 , wherein in order to select the personalized font for sending, the processor is configured to: receiving a request for manual selection from a user; and In response to the manual selection request, a plurality of fonts including a personalized font is presented to the user.
4. The personalized font management system according to claim 1, wherein: To select a personalized font for sending, the processor is configured to: receiving a default identifier from the user; and The personalized font is selected in response to a default identification.
5. The personalized font management system according to claim 1, wherein: To retrieve the another personalized font, the processor is configured to: monitoring source information of received text communications; matching the source information with another personalized font; and Another personalized font is retrieved in response to the matching result.
6. The personalized font management system according to claim 5, wherein the source information includes a user identifier, the another personalized font is associated with the user identifier in a database, and in order to retrieve the another personalized font, the processor is configured to retrieve the another personalized font from the database.
7. The personalized font management system of claim 1 , wherein the personalized font management system is implemented on a device having a display, and wherein to display the received text communication in another personalized font, the processor is configured to: Displays received text communications on the display using another personalized font.
8. A personalized font management method implemented on a device, the personalized font management method comprising: In response to a user selection, selecting a personalized font for use in sending a text message to an intended recipient; identifying an intended recipient of the text message by monitoring the device to identify other devices to which the device is sending text communications, and distributing the selected personalized font to the intended recipient by distributing the personalized font to the other devices identified as sending text communications; Retrieving another personalized font for use in displaying received text communications; and Displays received text communications in an alternative, personalized font.
9. The personalized font management method according to claim 8, wherein the personalized font management method is implemented on an eye-mounted device.
10. The personalized font management method according to claim 8, wherein the selecting comprises: receiving a request for manual selection from a user; as well as In response to the manual selection request, a plurality of fonts including a personalized font is presented to the user.
11. The personalized font management method according to claim 8, wherein the selecting comprises: Receive a default identity from the user; as well as The personalized font is selected in response to a default identification.
12. The personalized font management method according to claim 8, wherein the searching comprises: monitoring source information of received text communications; matching the source information with another personalized font; as well as Another personalized font is retrieved in response to the matching result.
13. The personalized font management method according to claim 12, wherein the source information includes a user identifier, another personalized font is associated with the user identifier in a database, and retrieving another personalized font in response to the match comprises: Retrieve another personalized font from the database.
14. The personalized font management method according to claim 8, wherein the personalized font management method is implemented on a device having a display, and wherein the display comprises: Displays received text communications on the display using another personalized font.
15. A non-transitory computer-readable medium comprising instructions for execution by a processor of a device, the instructions, when executed by the processor, configuring the processor to: selecting, using a personalized font selection module, a personalized font for sending a text message to an intended recipient in response to a user selection; identifying an intended recipient of the text message by monitoring the device to identify other devices to which the device is sending text communications, and distributing the selected personalized font to the intended recipient by distributing the personalized font to the other devices identified as sending text communications; Retrieving another personalized font for use in displaying received text communications; and Displays received text communications in an alternative, personalized font.
16. The non-transitory computer-readable medium of claim 15, wherein to retrieve another personalized font for displaying a received text communication, the instructions configure the processor to: monitoring source information of received text communications; matching the source information with another personalized font; and Another personalized font is retrieved in response to the matching result.
17. The non-transitory computer-readable medium of claim 16, wherein the source information includes a user identification, another personalized font is associated with the user identification in a database, and to retrieve the another personalized font, the instructions configure the processor to retrieve the another personalized font from the database.
18. The non-transitory computer-readable medium of claim 15, wherein to select a personalized font for sending, the instructions configure the processor to: receiving a request for manual selection from a user; and In response to the manual selection request, a plurality of fonts including a personalized font is presented to the user.
19. The non-transitory computer-readable medium of claim 15, wherein to select a personalized font for sending, the instructions configure the processor to: receiving a default identifier from the user; and A personalized font is selected in response to the default identification.
20. The non-transitory computer-readable medium of claim 15, wherein the instructions are implemented by the processor on a device having a display, and wherein to display the received text communication in another personalized font, the instructions configure the processor to: Displays received text communications on the display using another personalized font.