| KallistiOS git master
    Independent SDK for the Sega Dreamcast | 
BIOS font drawing functions. More...
Go to the source code of this file.
| Macros | |
| #define | BFONT_THIN_WIDTH 12 | 
| Width of Thin Font (ISO8859_1, half-JP) | |
| #define | BFONT_WIDE_WIDTH (BFONT_THIN_WIDTH * 2) | 
| Width of Wide Font (full-JP) | |
| #define | BFONT_HEIGHT 24 | 
| Height of All Fonts. | |
| #define | BFONT_ICON_DIMEN 32 | 
| Dimension of vmu icons. | |
| #define | BFONT_BYTES_PER_CHAR (BFONT_THIN_WIDTH * BFONT_HEIGHT / 8) | 
| Number of bytes to represent a single thin character within the BIOS font. | |
| #define | BFONT_BYTES_PER_WIDE_CHAR (BFONT_WIDE_WIDTH * BFONT_HEIGHT / 8) | 
| Number of bytes to represent a single wide character within the BIOS font. | |
| #define | BFONT_BYTES_PER_VMU_ICON (BFONT_ICON_DIMEN * BFONT_ICON_DIMEN / 8) | 
| Number of bytes to represent a vmu icon within the BIOS font. | |
| #define | BFONT_NARROW_START 0 | 
| Start of Narrow Characters in Font Block. | |
| #define | BFONT_OVERBAR BFONT_NARROW_START | 
| #define | BFONT_ISO_8859_1_33_126 (BFONT_NARROW_START + ( 1 * BFONT_BYTES_PER_CHAR)) | 
| #define | BFONT_YEN (BFONT_NARROW_START + (95 * BFONT_BYTES_PER_CHAR)) | 
| #define | BFONT_ISO_8859_1_160_255 (BFONT_NARROW_START + (96 * BFONT_BYTES_PER_CHAR)) | 
| #define | JISX_0208_ROW_SIZE 94 | 
| Size of a row for JISX-0208 characters. | |
| #define | BFONT_WIDE_START (288 * BFONT_BYTES_PER_CHAR) | 
| Start of Wide Characters in Font Block. | |
| #define | BFONT_JISX_0208_ROW1 BFONT_WIDE_START | 
| Start of JISX-0208 Rows 1-7 in Font Block. | |
| #define | BFONT_JISX_0208_ROW16 (BFONT_WIDE_START + (658 * BFONT_BYTES_PER_WIDE_CHAR)) | 
| Start of JISX-0208 Row 16-47 (Start of Level 1) in Font Block. | |
| #define | BFONT_JISX_0208_ROW48 (BFONT_JISX_0208_ROW16 + ((32 * JISX_0208_ROW_SIZE) * BFONT_BYTES_PER_WIDE_CHAR)) | 
| JISX-0208 Row 48-84 (Start of Level 2) in Font Block. | |
| #define | BFONT_DREAMCAST_SPECIFIC (BFONT_WIDE_START + (7056 * BFONT_BYTES_PER_WIDE_CHAR)) | 
| Start of DC Specific Icons in Font Block. | |
| #define | BFONT_VMU_DREAMCAST_SPECIFIC (BFONT_DREAMCAST_SPECIFIC+(22 * BFONT_BYTES_PER_WIDE_CHAR)) | 
| Start of VMU Specific Icons in Font Block. | |
| #define | DI_CIRCLECOPYRIGHT "\\di00" | 
| brief Macros for Builtin DC Icons | |
| #define | DI_CIRCLER "\\di01" | 
| #define | DI_TRADEMARK "\\di02" | 
| #define | DI_UPARROW "\\di03" | 
| #define | DI_DOWNARROW "\\di04" | 
| #define | DI_LEFTARROW "\\di05" | 
| #define | DI_RIGHTARROW "\\di06" | 
| #define | DI_UPRIGHTARROW "\\di07" | 
| #define | DI_DOWNRIGHTARROW "\\di08" | 
| #define | DI_DOWNLEFTARROW "\\di09" | 
| #define | DI_UPLEFTARROW "\\di0A" | 
| #define | DI_ABUTTON "\\di0B" | 
| #define | DI_BBUTTON "\\di0C" | 
| #define | DI_CBUTTON "\\di0D" | 
| #define | DI_DBUTTON "\\di0E" | 
| #define | DI_XBUTTON "\\di0F" | 
| #define | DI_YBUTTON "\\di10" | 
| #define | DI_ZBUTTON "\\di11" | 
| #define | DI_LTRIGGER "\\di12" | 
| #define | DI_RTRIGGER "\\di13" | 
| #define | DI_STARTBUTTON "\\di14" | 
| #define | DI_VMU "\\di15" | 
| #define | VI_INVALID_VMU "\\vi00" | 
| brief Macros for Builtin VMU Icons | |
| #define | VI_HOURGLASS_ONE "\\vi01" | 
| #define | VI_HOURGLASS_TWO "\\vi02" | 
| #define | VI_HOURGLASS_THREE "\\vi03" | 
| #define | VI_HOURGLASS_FOUR "\\vi04" | 
| #define | VI_VMUICON "\\vi05" | 
| #define | VI_EARTH "\\vi06" | 
| #define | VI_SATURN "\\vi07" | 
| #define | VI_QUARTER_MOON "\\vi08" | 
| #define | VI_LAUGHING_FACE "\\vi09" | 
| #define | VI_SMILING_FACE "\\vi0A" | 
| #define | VI_CASUAL_FACE "\\vi0B" | 
| #define | VI_ANGRY_FACE "\\vi0C" | 
| #define | VI_COW "\\vi0D" | 
| #define | VI_HORSE "\\vi0E" | 
| #define | VI_RABBIT "\\vi0F" | 
| #define | VI_CAT "\\vi10" | 
| #define | VI_CHICK "\\vi11" | 
| #define | VI_LION "\\vi12" | 
| #define | VI_MONKEY "\\vi13" | 
| #define | VI_PANDA "\\vi14" | 
| #define | VI_BEAR "\\vi15" | 
| #define | VI_PIG "\\vi16" | 
| #define | VI_DOG "\\vi17" | 
| #define | VI_FISH "\\vi18" | 
| #define | VI_OCTOPUS "\\vi19" | 
| #define | VI_SQUID "\\vi1A" | 
| #define | VI_WHALE "\\vi1B" | 
| #define | VI_CRAB "\\vi1C" | 
| #define | VI_BUTTERFLY "\\vi1D" | 
| #define | VI_LADYBUG "\\vi1E" | 
| #define | VI_ANGLER_FISH "\\vi1F" | 
| #define | VI_PENGUIN "\\vi20" | 
| #define | VI_CHERRIES "\\vi21" | 
| #define | VI_TULIP "\\vi22" | 
| #define | VI_LEAF "\\vi23" | 
| #define | VI_SAKURA "\\vi24" | 
| #define | VI_APPLE "\\vi25" | 
| #define | VI_ICECREAM "\\vi26" | 
| #define | VI_CACTUS "\\vi27" | 
| #define | VI_PIANO "\\vi28" | 
| #define | VI_GUITAR "\\vi29" | 
| #define | VI_EIGHTH_NOTE "\\vi2A" | 
| #define | VI_TREBLE_CLEF "\\vi2B" | 
| #define | VI_BOAT "\\vi2C" | 
| #define | VI_CAR "\\vi2D" | 
| #define | VI_HELMET "\\vi2E" | 
| #define | VI_MOTORCYCLE "\\vi2F" | 
| #define | VI_VAN "\\vi30" | 
| #define | VI_TRUCK "\\vi31" | 
| #define | VI_CLOCK "\\vi32" | 
| #define | VI_TELEPHONE "\\vi33" | 
| #define | VI_PENCIL "\\vi34" | 
| #define | VI_CUP "\\vi35" | 
| #define | VI_SILVERWARE "\\vi36" | 
| #define | VI_HOUSE "\\vi37" | 
| #define | VI_BELL "\\vi38" | 
| #define | VI_CROWN "\\vi39" | 
| #define | VI_SOCK "\\vi3A" | 
| #define | VI_CAKE "\\vi3B" | 
| #define | VI_KEY "\\vi3C" | 
| #define | VI_BOOK "\\vi3D" | 
| #define | VI_BASEBALL "\\vi3E" | 
| #define | VI_SOCCER "\\vi3F" | 
| #define | VI_BULB "\\vi40" | 
| #define | VI_TEDDY_BEAR "\\vi41" | 
| #define | VI_BOW_TIE "\\vi42" | 
| #define | VI_BOW_ARROW "\\vi43" | 
| #define | VI_SNOWMAN "\\vi44" | 
| #define | VI_LIGHTNING "\\vi45" | 
| #define | VI_SUN "\\vi46" | 
| #define | VI_CLOUD "\\vi47" | 
| #define | VI_UMBRELLA "\\vi48" | 
| #define | VI_ONE_STAR "\\vi49" | 
| #define | VI_TWO_STARS "\\vi4A" | 
| #define | VI_THREE_STARS "\\vi4B" | 
| #define | VI_FOUR_STARS "\\vi4C" | 
| #define | VI_HEART "\\vi4D" | 
| #define | VI_DIAMOND "\\vi4E" | 
| #define | VI_SPADE "\\vi4F" | 
| #define | VI_CLUB "\\vi50" | 
| #define | VI_JACK "\\vi51" | 
| #define | VI_QUEEN "\\vi52" | 
| #define | VI_KING "\\vi53" | 
| #define | VI_JOKER "\\vi54" | 
| #define | VI_ISLAND "\\vi55" | 
| #define | VI_0 "\\vi56" | 
| #define | VI_1 "\\vi57" | 
| #define | VI_2 "\\vi58" | 
| #define | VI_3 "\\vi59" | 
| #define | VI_4 "\\vi5A" | 
| #define | VI_5 "\\vi5B" | 
| #define | VI_6 "\\vi5C" | 
| #define | VI_7 "\\vi5D" | 
| #define | VI_8 "\\vi5E" | 
| #define | VI_9 "\\vi5F" | 
| #define | VI_A "\\vi60" | 
| #define | VI_B "\\vi61" | 
| #define | VI_C "\\vi62" | 
| #define | VI_D "\\vi63" | 
| #define | VI_E "\\vi64" | 
| #define | VI_F "\\vi65" | 
| #define | VI_G "\\vi66" | 
| #define | VI_H "\\vi67" | 
| #define | VI_I "\\vi68" | 
| #define | VI_J "\\vi69" | 
| #define | VI_K "\\vi6A" | 
| #define | VI_L "\\vi6B" | 
| #define | VI_M "\\vi6C" | 
| #define | VI_N "\\vi6D" | 
| #define | VI_O "\\vi6E" | 
| #define | VI_P "\\vi6F" | 
| #define | VI_Q "\\vi70" | 
| #define | VI_R "\\vi71" | 
| #define | VI_S "\\vi72" | 
| #define | VI_T "\\vi73" | 
| #define | VI_U "\\vi74" | 
| #define | VI_V "\\vi75" | 
| #define | VI_W "\\vi76" | 
| #define | VI_X "\\vi77" | 
| #define | VI_Y "\\vi78" | 
| #define | VI_Z "\\vi79" | 
| #define | VI_CHECKER_BOARD "\\vi7A" | 
| #define | VI_GRID "\\vi7B" | 
| #define | VI_LIGHT_GRAY "\\vi7C" | 
| #define | VI_DIAG_GRID "\\vi7D" | 
| #define | VI_PACMAN_GRID "\\vi7E" | 
| #define | VI_DARK_GRAY "\\vi7F" | 
| #define | VI_EMBROIDERY "\\vi80" | 
| Functions | |
| void | bfont_set_encoding (bfont_code_t enc) | 
| Set the font encoding. | |
| size_t | bfont_draw_ex (void *buffer, uint32_t bufwidth, uint32_t fg, uint32_t bg, uint8_t bpp, bool opaque, uint32_t c, bool wide, bool iskana) | 
| Draw a single character of any sort to a buffer. | |
| size_t | bfont_draw (void *buffer, uint32_t bufwidth, bool opaque, uint32_t c) | 
| Draw a single character to a buffer. | |
| size_t | bfont_draw_thin (void *buffer, uint32_t bufwidth, bool opaque, uint32_t c, bool iskana) | 
| Draw a single thin character to a buffer. | |
| size_t | bfont_draw_wide (void *buffer, uint32_t bufwidth, bool opaque, uint32_t c) | 
| Draw a single wide character to a buffer. | |
| size_t | bfont_draw_vmu_icon_ex (void *buffer, uint32_t bufwidth, uint32_t fg, uint32_t bg, uint8_t bpp, bool opaque, bfont_vmu_icon_t icon) | 
| Draw a VMU icon to the buffer. | |
| size_t | bfont_draw_vmu_icon (void *buffer, uint32_t bufwidth, bool opaque, bfont_vmu_icon_t icon) | 
| Draw a VMU icon to a buffer. | |
| size_t | bfont_draw_dc_icon_ex (void *buffer, uint32_t bufwidth, uint32_t fg, uint32_t bg, uint8_t bpp, bool opaque, bfont_dc_icon_t icon) | 
| Draw a DC icon to the buffer. | |
| size_t | bfont_draw_dc_icon (void *buffer, uint32_t bufwidth, bool opaque, bfont_dc_icon_t icon) | 
| Draw a DC icon to a buffer. | |
| void | bfont_draw_str_ex (void *buffer, uint32_t width, uint32_t fg, uint32_t bg, uint8_t bpp, bool opaque, const char *str) | 
| Draw a full string of any sort to any sort of buffer. | |
| void | bfont_draw_str_ex_fmt (void *buffer, uint32_t width, uint32_t fg, uint32_t bg, uint8_t bpp, bool opaque, const char *fmt,...) __printflike(7 | 
| Draw a full formatted string of any sort to any sort of buffer. | |
| void void | bfont_draw_str_ex_vfmt (void *buffer, uint32_t width, uint32_t fg, uint32_t bg, uint8_t bpp, bool opaque, const char *fmt, va_list *var_args) | 
| Draw formatted string of any sort to buffer (with va_args). | |
| void | bfont_draw_str (void *buffer, uint32_t width, bool opaque, const char *str) | 
| Draw a full string to a buffer. | |
| void | bfont_draw_str_fmt (void *buffer, uint32_t width, bool opaque, const char *fmt,...) __printflike(4 | 
| Draw a full formatted string to a buffer. | |
| void void | bfont_draw_str_vram_vfmt (uint32_t x, uint32_t y, uint32_t fg, uint32_t bg, bool opaque, const char *fmt, va_list *var_args) | 
| Draw a full formatted string to video ram (with va_args). | |
| void | bfont_draw_str_vram_fmt (uint32_t x, uint32_t y, bool opaque, const char *fmt,...) __printflike(4 | 
| Draw a full string to video ram. | |
| Coloring | |
| Methods for modifying the text color. | |
| uint32_t | bfont_set_foreground_color (uint32_t c) | 
| Set the font foreground color. | |
| uint32_t | bfont_set_background_color (uint32_t c) | 
| Set the font background color. | |
| Character Lookups | |
| Methods for finding various font characters and icons. | |
| const uint8_t * | bfont_find_char (uint32_t ch) | 
| Find an ISO-8859-1 character in the font. | |
| uint8_t * | bfont_find_char_jp (uint32_t ch) | 
| Find an full-width Japanese character in the font. | |
| uint8_t * | bfont_find_char_jp_half (uint32_t ch) | 
| Find an half-width Japanese character in the font. | |
| uint8_t * | bfont_find_icon (bfont_vmu_icon_t icon) | 
| Find a VMU icon. | |
| uint8_t * | bfont_find_dc_icon (bfont_dc_icon_t icon) | 
| Find a DC icon. | |
BIOS font drawing functions.
This file provides support for utilizing the font built into the Dreamcast's BIOS. These functions allow access to both the western character set and Japanese characters.