SPMA082 August   2021 TM4C1230C3PM , TM4C1230D5PM , TM4C1230E6PM , TM4C1230H6PM , TM4C1231C3PM , TM4C1231D5PM , TM4C1231D5PZ , TM4C1231E6PM , TM4C1231E6PZ , TM4C1231H6PGE , TM4C1231H6PM , TM4C1231H6PZ , TM4C1232C3PM , TM4C1232D5PM , TM4C1232E6PM , TM4C1232H6PM , TM4C1233C3PM , TM4C1233D5PM , TM4C1233D5PZ , TM4C1233E6PM , TM4C1233E6PZ , TM4C1233H6PGE , TM4C1233H6PM , TM4C1233H6PZ , TM4C1236D5PM , TM4C1236E6PM , TM4C1236H6PM , TM4C1237D5PM , TM4C1237D5PZ , TM4C1237E6PM , TM4C1237E6PZ , TM4C1237H6PGE , TM4C1237H6PM , TM4C1237H6PZ , TM4C123AE6PM , TM4C123AH6PM , TM4C123BE6PM , TM4C123BE6PZ , TM4C123BH6PGE , TM4C123BH6PM , TM4C123BH6PZ , TM4C123BH6ZRB , TM4C123FE6PM , TM4C123FH6PM , TM4C123GE6PM , TM4C123GE6PZ , TM4C123GH6PGE , TM4C123GH6PM , TM4C123GH6PZ , TM4C123GH6ZRB , TM4C1290NCPDT , TM4C1290NCZAD , TM4C1292NCPDT , TM4C1292NCZAD , TM4C1294KCPDT , TM4C1294NCPDT , TM4C1294NCZAD , TM4C1297NCZAD , TM4C1299KCZAD , TM4C1299NCZAD , TM4C129CNCPDT , TM4C129CNCZAD , TM4C129DNCPDT , TM4C129DNCZAD , TM4C129EKCPDT , TM4C129ENCPDT , TM4C129ENCZAD , TM4C129LNCZAD , TM4C129XKCZAD , TM4C129XNCZAD

 

  1.   Trademarks
  2. 1TFT LCD Overview
    1. 1.1 Typical Interfaces
    2. 1.2 Frame Buffer
      1. 1.2.1 Frame Buffer Size Calculation
    3. 1.3 Frame Rate (FPS)
    4. 1.4 Touch Display
  3. 2LCD Controller Overview
    1. 2.1 Block Diagram
      1. 2.1.1 Raster Controller
      2. 2.1.2 LIDD Controller
  4. 3TivaWare Graphics Library (grlib)
    1. 3.1 Graphics Library Structure
      1. 3.1.1 Display Driver Overview
      2. 3.1.2 Low-Level Primitive Graphics API Overview
      3. 3.1.3 Widget API Overview
      4. 3.1.4 Input Driver Overview
  5. 4Display Driver Adaptation
    1. 4.1 Off-Screen Display Drivers
    2. 4.2 Individual Display Driver Functions
      1. 4.2.1 Init
      2. 4.2.2 ColorTranslate
      3. 4.2.3 PixelDraw
      4. 4.2.4 PixelDrawMultiple
      5. 4.2.5 LineDrawH
      6. 4.2.6 LineDrawV
      7. 4.2.7 RectFill
      8. 4.2.8 Flush
  6. 5Fonts
    1. 5.1 Creating Custom Fonts for Different Languages
  7. 6Useful Utilities
    1. 6.1 Pnmtoc
    2. 6.2 mkstringtable and ftrasterize
  8. 7References
  9.   A Appendix A

Fonts

Understanding the graphics library text handling functions will be easier if the following terminology is known:

  • ASCII

    American Standard Code for information Interchange. ASCII is a 7-bit code-page with codepoints in the range 0x00-0x7F. It contains the basic upper and lower-case Latin alphabet, numeric digits, common punctuation marks and terminal control codes. It is in common use in English-speaking countries but offers no way to encode accented characters or non-Latin alphabets.

  • codepage

    A character encoding scheme mapping between codepoints and glyphs within a font. The codepage determines which character a given codepoint (character number) represents. For example, when using the ASCII codepage, codepoint 0x20 represents the space character.

  • codepoint

    A single entry in a codepage. A number identifying a character in a font. Knowing the codepage in use, the codepoint (or character code) defines a single character.

  • glyph

    A graphical representation of a single character in a font.

  • font

    A collection of character glyphs in a particular typeface and size each represented by a codepoint.

  • UTF-8

    Unicode Transformation Format(8). A variable length encoding system for Unicode text where any given character can be represented by 1 to 6 bytes depending upon the character. UTF-8 has the advantage that it is backwards compatible with ASCII and is commonly used in text file processing.

The are a large range of fonts supplied with the grlib that can be used for rendering text on the screen. Additional fonts can be created by using the ftrasterize utility to compress font files into the format required by the grlib. For a full list of available fonts, see the Font Reference section in the TivaWare™ Graphics Library User's Guide.

Below is an example of specifying an 18-pt computer modern sans-serif font when drawing the “hello world” string using the grlib primitive functions.

GrContextFontSet(psContext, g_psFontCmss18b);
GrStringDrawCentered(psContext, "hello world", -1, 160, 8, false);

Step 5 in Figure 3-3 shows another example specifying a 40-pt computer modern serif font for a widget declaration.