OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
ConsoleFont.c File Reference
#include "OcConsoleLibInternal.h"
#include <Uefi.h>

Go to the source code of this file.

Macros

#define PAGE0_CHAR_MIN   (32)
 
#define PAGE0_CHAR_MAX   (127)
 Use one over.
 
#define PAGE0_FONT_HEAD   (1)
 
#define PAGE0_FONT_TAIL   (1)
 
#define PAGE0_LEFT_TO_RIGHT   (FALSE)
 
#define PAGE67_CHAR_MIN   (0x10)
 
#define PAGE67_CHAR_MAX   (0x14)
 
#define PAGE67_FONT_HEAD   (0)
 
#define PAGE67_FONT_TAIL   (2)
 
#define PAGE67_LEFT_TO_RIGHT   (TRUE)
 
#define PAGE74_CHAR_MIN   (0x00)
 
#define PAGE74_CHAR_MAX   (0x6D)
 
#define PAGE74_SPARSE_CHAR_COUNT   (40)
 
#define PAGE74_LEFT_TO_RIGHT   (TRUE)
 
#define PAGE75_CHAR_MIN   (0x08)
 
#define PAGE75_CHAR_MAX   (0x45)
 
#define PAGE75_SPARSE_CHAR_COUNT   (6)
 
#define PAGE75_LEFT_TO_RIGHT   (TRUE)
 
#define FONT_PAGE_MIN   (0)
 
#define FONT_PAGE_MAX   (76)
 

Variables

STATIC UINT8 mIsoFontDataPage0 [(PAGE0_CHAR_MAX - PAGE0_CHAR_MIN) *(ISO_CHAR_HEIGHT - PAGE0_FONT_HEAD - PAGE0_FONT_TAIL)]
 
STATIC UINT8 mGlyphsPage67 [(PAGE67_CHAR_MAX - PAGE67_CHAR_MIN) *(ISO_CHAR_HEIGHT - PAGE67_FONT_HEAD - PAGE67_FONT_TAIL)]
 
STATIC UINT8 mGlyphsPage74 [PAGE74_SPARSE_CHAR_COUNT *ISO_CHAR_HEIGHT]
 
STATIC UINT8 mOffsetsPage74 [PAGE74_CHAR_MAX - PAGE74_CHAR_MIN]
 
STATIC UINT8 mGlyphsPage75 [PAGE75_SPARSE_CHAR_COUNT *ISO_CHAR_HEIGHT]
 
STATIC UINT8 mOffsetsPage75 [PAGE75_CHAR_MAX - PAGE75_CHAR_MIN]
 
STATIC OC_CONSOLE_FONT_PAGE mFontPages []
 
STATIC UINT16 mFontPageOffsets [FONT_PAGE_MAX - FONT_PAGE_MIN]
 
STATIC OC_CONSOLE_FONT_PAGE mMinimalFontPages [1]
 
GLOBAL_REMOVE_IF_UNREFERENCED OC_CONSOLE_FONT gDefaultConsoleFont
 
GLOBAL_REMOVE_IF_UNREFERENCED OC_CONSOLE_FONT gMinimalConsoleFont
 
GLOBAL_REMOVE_IF_UNREFERENCED OC_CONSOLE_FONT_RANGE gEfiRequiredUnicodeChars []
 
GLOBAL_REMOVE_IF_UNREFERENCED OC_CONSOLE_FONT_RANGE gExtendedUnicodeChars []
 

Detailed Description

Default console font.

Copyright (c) 2020-2023, Vitaly Cheptsov, Mike Beaton. All rights reserved.
SPDX-License-Identifier: BSD-3-Clause

Definition in file ConsoleFont.c.

Macro Definition Documentation

◆ FONT_PAGE_MAX

#define FONT_PAGE_MAX   (76)

Definition at line 510 of file ConsoleFont.c.

◆ FONT_PAGE_MIN

#define FONT_PAGE_MIN   (0)

Definition at line 509 of file ConsoleFont.c.

◆ PAGE0_CHAR_MAX

#define PAGE0_CHAR_MAX   (127)

Use one over.

Definition at line 22 of file ConsoleFont.c.

◆ PAGE0_CHAR_MIN

#define PAGE0_CHAR_MIN   (32)

Definition at line 21 of file ConsoleFont.c.

◆ PAGE0_FONT_HEAD

#define PAGE0_FONT_HEAD   (1)

Definition at line 23 of file ConsoleFont.c.

◆ PAGE0_FONT_TAIL

#define PAGE0_FONT_TAIL   (1)

Definition at line 24 of file ConsoleFont.c.

◆ PAGE0_LEFT_TO_RIGHT

#define PAGE0_LEFT_TO_RIGHT   (FALSE)

Definition at line 25 of file ConsoleFont.c.

◆ PAGE67_CHAR_MAX

#define PAGE67_CHAR_MAX   (0x14)

Definition at line 249 of file ConsoleFont.c.

◆ PAGE67_CHAR_MIN

#define PAGE67_CHAR_MIN   (0x10)

Definition at line 248 of file ConsoleFont.c.

◆ PAGE67_FONT_HEAD

#define PAGE67_FONT_HEAD   (0)

Definition at line 250 of file ConsoleFont.c.

◆ PAGE67_FONT_TAIL

#define PAGE67_FONT_TAIL   (2)

Definition at line 251 of file ConsoleFont.c.

◆ PAGE67_LEFT_TO_RIGHT

#define PAGE67_LEFT_TO_RIGHT   (TRUE)

Definition at line 252 of file ConsoleFont.c.

◆ PAGE74_CHAR_MAX

#define PAGE74_CHAR_MAX   (0x6D)

Definition at line 262 of file ConsoleFont.c.

◆ PAGE74_CHAR_MIN

#define PAGE74_CHAR_MIN   (0x00)

Definition at line 261 of file ConsoleFont.c.

◆ PAGE74_LEFT_TO_RIGHT

#define PAGE74_LEFT_TO_RIGHT   (TRUE)

Definition at line 264 of file ConsoleFont.c.

◆ PAGE74_SPARSE_CHAR_COUNT

#define PAGE74_SPARSE_CHAR_COUNT   (40)

Definition at line 263 of file ConsoleFont.c.

◆ PAGE75_CHAR_MAX

#define PAGE75_CHAR_MAX   (0x45)

Definition at line 422 of file ConsoleFont.c.

◆ PAGE75_CHAR_MIN

#define PAGE75_CHAR_MIN   (0x08)

Definition at line 421 of file ConsoleFont.c.

◆ PAGE75_LEFT_TO_RIGHT

#define PAGE75_LEFT_TO_RIGHT   (TRUE)

Definition at line 424 of file ConsoleFont.c.

◆ PAGE75_SPARSE_CHAR_COUNT

#define PAGE75_SPARSE_CHAR_COUNT   (6)

Definition at line 423 of file ConsoleFont.c.

Variable Documentation

◆ gDefaultConsoleFont

GLOBAL_REMOVE_IF_UNREFERENCED OC_CONSOLE_FONT gDefaultConsoleFont
Initial value:
= {
}
STATIC UINT16 mFontPageOffsets[FONT_PAGE_MAX - FONT_PAGE_MIN]
#define FONT_PAGE_MAX
#define FONT_PAGE_MIN
STATIC OC_CONSOLE_FONT_PAGE mFontPages[]

Free font used by XNU, plus unicode box drawing chars.

Definition at line 611 of file ConsoleFont.c.

◆ gEfiRequiredUnicodeChars

GLOBAL_REMOVE_IF_UNREFERENCED OC_CONSOLE_FONT_RANGE gEfiRequiredUnicodeChars[]
Initial value:
= {
{ 0x2500, 1 },
{ 0x2502, 1 },
{ 0x250c, 1 },
{ 0x2510, 1 },
{ 0x2514, 1 },
{ 0x2518, 1 },
{ 0x251c, 1 },
{ 0x2524, 1 },
{ 0x252c, 1 },
{ 0x2534, 1 },
{ 0x253c, 1 },
{ 0x2550, 0x1D },
{ 0x2588, 1 },
{ 0x2591, 1 },
{ 0x25b2, 1 },
{ 0x25ba, 1 },
{ 0x25bc, 1 },
{ 0x25c4, 1 },
{ 0x2190, 4 },
{ 0, 0 }
}

List of non-page 0 chars required by EFI. Refs: https://github.com/acidanthera/audk/blob/master/MdePkg/Include/Protocol/SimpleTextOut.h#L177-L178 https://github.com/acidanthera/audk/blob/master/MdePkg/Include/Protocol/SimpleTextOut.h#L34-L98

Definition at line 631 of file ConsoleFont.c.

◆ gExtendedUnicodeChars

GLOBAL_REMOVE_IF_UNREFERENCED OC_CONSOLE_FONT_RANGE gExtendedUnicodeChars[]

List of all chars present in Extended Unicode range. Ref: https://int10h.org/oldschool-pc-fonts/fontlist/font?ibm_vga_8x16

Definition at line 654 of file ConsoleFont.c.

◆ gMinimalConsoleFont

GLOBAL_REMOVE_IF_UNREFERENCED OC_CONSOLE_FONT gMinimalConsoleFont
Initial value:
= {
NULL,
0,
0
}
STATIC OC_CONSOLE_FONT_PAGE mMinimalFontPages[1]

Definition at line 621 of file ConsoleFont.c.

◆ mFontPageOffsets

STATIC UINT16 mFontPageOffsets[FONT_PAGE_MAX - FONT_PAGE_MIN]

Definition at line 512 of file ConsoleFont.c.

◆ mFontPages

STATIC OC_CONSOLE_FONT_PAGE mFontPages[]
Initial value:
= {
}
STATIC UINT8 mOffsetsPage74[PAGE74_CHAR_MAX - PAGE74_CHAR_MIN]
#define PAGE74_CHAR_MIN
#define PAGE75_LEFT_TO_RIGHT
STATIC UINT8 mGlyphsPage74[PAGE74_SPARSE_CHAR_COUNT *ISO_CHAR_HEIGHT]
#define PAGE67_CHAR_MAX
STATIC UINT8 mGlyphsPage75[PAGE75_SPARSE_CHAR_COUNT *ISO_CHAR_HEIGHT]
#define PAGE74_CHAR_MAX
#define PAGE0_FONT_HEAD
Definition ConsoleFont.c:23
#define PAGE67_CHAR_MIN
#define PAGE75_CHAR_MAX
#define PAGE0_FONT_TAIL
Definition ConsoleFont.c:24
#define PAGE0_CHAR_MAX
Use one over.
Definition ConsoleFont.c:22
#define PAGE67_FONT_TAIL
STATIC UINT8 mOffsetsPage75[PAGE75_CHAR_MAX - PAGE75_CHAR_MIN]
STATIC UINT8 mIsoFontDataPage0[(PAGE0_CHAR_MAX - PAGE0_CHAR_MIN) *(ISO_CHAR_HEIGHT - PAGE0_FONT_HEAD - PAGE0_FONT_TAIL)]
Definition ConsoleFont.c:27
#define PAGE67_LEFT_TO_RIGHT
#define PAGE67_FONT_HEAD
#define PAGE0_LEFT_TO_RIGHT
Definition ConsoleFont.c:25
#define PAGE74_LEFT_TO_RIGHT
#define PAGE75_CHAR_MIN
#define PAGE0_CHAR_MIN
Definition ConsoleFont.c:21
STATIC UINT8 mGlyphsPage67[(PAGE67_CHAR_MAX - PAGE67_CHAR_MIN) *(ISO_CHAR_HEIGHT - PAGE67_FONT_HEAD - PAGE67_FONT_TAIL)]

Definition at line 499 of file ConsoleFont.c.

◆ mGlyphsPage67

Initial value:
= {
0x00, 0x00, 0x30, 0x30, 0x60, 0x60, 0xFE, 0xFE, 0x60, 0x60, 0x30, 0x30, 0x00, 0x00,
0x18, 0x18, 0x3C, 0x3C, 0x7E, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0x00, 0x00, 0x18, 0x18, 0x0C, 0x0C, 0xFE, 0xFE, 0x0C, 0x0C, 0x18, 0x18, 0x00, 0x00,
0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x7E, 0x3C, 0x3C, 0x18, 0x18
}

Definition at line 254 of file ConsoleFont.c.

◆ mGlyphsPage74

STATIC UINT8 mGlyphsPage74[PAGE74_SPARSE_CHAR_COUNT *ISO_CHAR_HEIGHT]

Definition at line 266 of file ConsoleFont.c.

◆ mGlyphsPage75

STATIC UINT8 mGlyphsPage75[PAGE75_SPARSE_CHAR_COUNT *ISO_CHAR_HEIGHT]
Initial value:
= {
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x22, 0x22, 0x88, 0x88, 0x22, 0x22, 0x88, 0x88, 0x22, 0x22, 0x88, 0x88, 0x22, 0x22, 0x88, 0x88,
0x00, 0x00, 0x18, 0x18, 0x3C, 0x3C, 0x7E, 0x7E, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
0x80, 0x80, 0xE0, 0xE0, 0xF8, 0xF8, 0xFE, 0xFE, 0xF8, 0xF8, 0xE0, 0xE0, 0x80, 0x80, 0x00, 0x00,
0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x7E, 0x3C, 0x3C, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
0x02, 0x02, 0x0E, 0x0E, 0x3E, 0x3E, 0xFE, 0xFE, 0x3E, 0x3E, 0x0E, 0x0E, 0x02, 0x02, 0x00, 0x00,
}

Definition at line 426 of file ConsoleFont.c.

◆ mIsoFontDataPage0

STATIC UINT8 mIsoFontDataPage0[(PAGE0_CHAR_MAX - PAGE0_CHAR_MIN) *(ISO_CHAR_HEIGHT - PAGE0_FONT_HEAD - PAGE0_FONT_TAIL)]

Definition at line 27 of file ConsoleFont.c.

◆ mMinimalFontPages

STATIC OC_CONSOLE_FONT_PAGE mMinimalFontPages[1]

◆ mOffsetsPage74

STATIC UINT8 mOffsetsPage74[PAGE74_CHAR_MAX - PAGE74_CHAR_MIN]

Definition at line 309 of file ConsoleFont.c.

◆ mOffsetsPage75

STATIC UINT8 mOffsetsPage75[PAGE75_CHAR_MAX - PAGE75_CHAR_MIN]

Definition at line 435 of file ConsoleFont.c.