fortplot_tt_binary Module

Big-endian binary readers for TrueType font parsing. Fortran equivalents of stb_truetype.h macros: ttBYTE, ttUSHORT, ttSHORT, ttULONG. All offsets are 0-based to match the TTF specification directly.



Functions

public pure function tt_byte(data, offset) result(val)

Read one unsigned byte (0..255) at a 0-based offset.

Arguments

Type IntentOptional Attributes Name
integer(kind=int8), intent(in) :: data(:)
integer, intent(in) :: offset

Return Value integer

public pure function tt_ushort(data, offset) result(val)

Read big-endian unsigned 16-bit integer (0..65535).

Arguments

Type IntentOptional Attributes Name
integer(kind=int8), intent(in) :: data(:)
integer, intent(in) :: offset

Return Value integer

public pure function tt_short(data, offset) result(val)

Read big-endian signed 16-bit integer (-32768..32767).

Arguments

Type IntentOptional Attributes Name
integer(kind=int8), intent(in) :: data(:)
integer, intent(in) :: offset

Return Value integer

public pure function tt_ulong(data, offset) result(val)

Read big-endian unsigned 32-bit integer via bit operations.

Arguments

Type IntentOptional Attributes Name
integer(kind=int8), intent(in) :: data(:)
integer, intent(in) :: offset

Return Value integer

public pure function tt_tag_match(data, offset, tag) result(match)

Compare 4 bytes at offset to a character tag (e.g. "cmap", "head").

Arguments

Type IntentOptional Attributes Name
integer(kind=int8), intent(in) :: data(:)
integer, intent(in) :: offset
character(len=4), intent(in) :: tag

Return Value logical

public function tt_load_file(filename, data, file_size) result(success)

Load entire file into a byte array via stream I/O.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: filename
integer(kind=int8), intent(out), allocatable :: data(:)
integer, intent(out) :: file_size

Return Value logical