fortplot_pdf_text_segments Module

Mixed-font PDF text segmentation helpers



Subroutines

public subroutine process_text_segments(this, text, in_symbol_font, font_size)

Process text segments for mixed font rendering Groups consecutive glyphs for the same font into a single Tj to avoid odd intra-word spacing in some PDF viewers.

Arguments

Type IntentOptional Attributes Name
class(pdf_context_core), intent(inout) :: this
character(len=*), intent(in) :: text
logical, intent(inout) :: in_symbol_font
real(kind=wp), intent(in) :: font_size

public subroutine emit_pdf_escape_or_fallback(this, codepoint, font_size)

Arguments

Type IntentOptional Attributes Name
class(pdf_context_core), intent(inout) :: this
integer, intent(in) :: codepoint
real(kind=wp), intent(in) :: font_size

public subroutine process_rotated_text_segments(this, text, font_size)

Process text segments for rotated mixed font rendering

Arguments

Type IntentOptional Attributes Name
class(pdf_context_core), intent(inout) :: this
character(len=*), intent(in) :: text
real(kind=wp), intent(in) :: font_size

public subroutine switch_to_symbol_font(this, font_size)

Arguments

Type IntentOptional Attributes Name
class(pdf_context_core), intent(inout) :: this
real(kind=wp), intent(in) :: font_size

public subroutine switch_to_helvetica_font(this, font_size)

Arguments

Type IntentOptional Attributes Name
class(pdf_context_core), intent(inout) :: this
real(kind=wp), intent(in) :: font_size

public subroutine render_mixed_font_at_position(this, x, y, text, font_size)

Render text with mixed fonts at specific position and size

Arguments

Type IntentOptional Attributes Name
class(pdf_context_core), intent(inout) :: this
real(kind=wp), intent(in) :: x
real(kind=wp), intent(in) :: y
character(len=*), intent(in) :: text
real(kind=wp), intent(in) :: font_size