OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
ConsoleFontLoader.c File Reference
#include "OcConsoleLibInternal.h"
#include <Uefi.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/OcFlexArrayLib.h>
#include <Library/OcStorageLib.h>

Go to the source code of this file.

Macros

#define HEX_LINE_DATA_OFFSET   ((sizeof(CHAR16) * 2) + 1)
 
#define HEX_LINE_LENGTH   (HEX_LINE_DATA_OFFSET + (ISO_CHAR_HEIGHT * sizeof(UINT8) * 2))
 
#define HEX_FILE_ERROR_PREFIX   "OCC: Hex font line "
 
#define PTR_AS_UINTN(ptr)
 

Functions

STATIC EFI_STATUS AsciiHexToUintn (IN CHAR8 *Str, OUT UINTN *Data, IN UINTN Length)
 
STATIC EFI_STATUS ParseHexFontLine (UINTN LineNumber, CHAR8 *CurrentLine, CHAR16 *Char, UINT8 *LineGlyphData)
 
EFI_STATUS OcLoadConsoleFont (IN OC_STORAGE_CONTEXT *Storage, IN CONST CHAR8 *FontName, OUT OC_CONSOLE_FONT **Font)
 

Detailed Description

Load console font from standard format .hex font file - currently supports 8x16 fonts only.

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

Definition in file ConsoleFontLoader.c.

Macro Definition Documentation

◆ HEX_FILE_ERROR_PREFIX

#define HEX_FILE_ERROR_PREFIX   "OCC: Hex font line "

Definition at line 18 of file ConsoleFontLoader.c.

◆ HEX_LINE_DATA_OFFSET

#define HEX_LINE_DATA_OFFSET   ((sizeof(CHAR16) * 2) + 1)

Definition at line 15 of file ConsoleFontLoader.c.

◆ HEX_LINE_LENGTH

#define HEX_LINE_LENGTH   (HEX_LINE_DATA_OFFSET + (ISO_CHAR_HEIGHT * sizeof(UINT8) * 2))

Definition at line 16 of file ConsoleFontLoader.c.

◆ PTR_AS_UINTN

#define PTR_AS_UINTN ( ptr)
Value:
(*((UINTN *) &ptr))

Definition at line 25 of file ConsoleFontLoader.c.

Function Documentation

◆ AsciiHexToUintn()

STATIC EFI_STATUS AsciiHexToUintn ( IN CHAR8 * Str,
OUT UINTN * Data,
IN UINTN Length )

Definition at line 34 of file ConsoleFontLoader.c.

◆ OcLoadConsoleFont()

EFI_STATUS OcLoadConsoleFont ( IN OC_STORAGE_CONTEXT * Storage,
IN CONST CHAR8 * FontName,
OUT OC_CONSOLE_FONT ** Font )

< Comment, on separate line only.

< Empty line.

< stores sparse index + 1; zeroes mean no page.

< stores sparse index + 1; zeroes mean no glyph.

Definition at line 115 of file ConsoleFontLoader.c.

◆ ParseHexFontLine()

STATIC EFI_STATUS ParseHexFontLine ( UINTN LineNumber,
CHAR8 * CurrentLine,
CHAR16 * Char,
UINT8 * LineGlyphData )

Definition at line 77 of file ConsoleFontLoader.c.