Please enable JavaScript to view this site.

 

Navigation: Appendices > Q++Studio > XML Identifiers > Internal Data Structures > Implementation > List

TmcTextSettings — XML implementation

Scroll Prev Up Next More

This topic covers the implementation details of TmcTextSettings.

 

Scope: TypeDefinitions.pas; record. Prepared from the curated implementation supplied for this review on 2 October 2026.

 

Wrapper that delegates directly to FontSettings.ReadFromXML/SaveToXML, passing its TextStyle and TextStyleRemove sets. It writes the TmcFontSettings representation at the same XML node; there is no extra FontSettings wrapper inserted here.

 

IsDefault and DoesSomething inspect only the style sets. They do not test every nested font-setting member.

 

Notation and shared helper rules: Reading this reference.

 

XML identity and composition

 

No literal rec_type value is emitted directly by the selected routines. A property envelope, an inherited writer or a delegated record can supply its identifying attributes.

 

Structures used directly by this XML implementation:

 

TmcFontSettings

 

Exact XML fields and attributes

 

The paths below start at this record or property node. A slash identifies a child element; @ identifies an attribute. Curly braces mark a variable index or expression, not literal XML text. Initial values describe initialization; they do not establish what an omitted individual element does. The Implementation toggle below contains the supplied routines for exact branch order and conversions.

 

This type has no locally serialized scalar fields. Follow the nested serializer or inherited implementation described here; the Implementation toggle shows the exact calls.

 

Nested records and repeated elements

 

Operation

XML location

When it is processed

Read FontSettings

.

Whenever this part of the routine is reached

Write FontSettings

.

Whenever this part of the routine is reached

 

Initialization and reset values

 

TmcTextSettings.Initialize

 

Setting or temporary variable

Initial value

When it is assigned

self

Default (TmcTextSettings)

Always

TextStyle

an empty set

Always

TextStyleRemove

an empty set

Always

 

This routine also calls FontSettings.Initialize. See Implementation for their order and any conditional calls.

 

TmcTextSettings.ResetToDefaults

 

This routine also calls Initialize. See Implementation for their order and any conditional calls.

 

Value namespaces used by this implementation

 

These are declared Pascal ordinal values. Use the ordinal only where the field serializer actually writes ord(...), an integer cast or an equivalent value. Set-marker strings and local option lists have their own representation; sentinel members in an enum are not automatically legal XML choices.

 

TmcTextStyleOption

 

Ordinal

Declared member

0

tsoHide

1

tsoBold

2

tsoItalic

3

tsoOutline

4

tsoShadow

5

tsoStrikeThru

6

tsoUnderline

7

tsoWordUnderline

8

tsoSmallCaps

9

tsoAllCaps

10

tsoSuperScript

11

tsoSubscript

12

tsoFontName

13

tsoFontSize

14

tsoFontShade

15

tsoFontColor

16

tsoChangeText

17

tsoHorScale

18

tsoVertScale

19

tsoTrack

20

tsoKern

21

tsoBaseShift

22

tsoAppend

23

tsoReset

24

tsoIgnoreAllOthers

25

tsoFontOpacity

26

tsoOverprint

27

tsoSkew

28

tsoLeading

 

Text-style marker encoding

 

An empty style set is the empty string. A nonempty set has a leading comma, a comma after every marker and a trailing comma: for example ,B,I,FOSI,. The parser looks for complete case-sensitive marker substrings. HIDE replaces the ordinary style selection; RSET and IGNR are still processed. tsoAppend is declared but is not encoded by these two helpers.

 

Stored marker

Style member

HIDE

tsoHide

B

tsoBold

I

tsoItalic

UL

tsoUnderline

O

tsoOutline

SHD

tsoShadow

STRK

tsoStrikeThru

WUL

tsoWordUnderline

SCAP

tsoSmallCaps

ALLC

tsoAllCaps

SUP

tsoSuperScript

SUB

tsoSubscript

OVRPRT+

tsoOverprint

FONA

tsoFontName

FOSI

tsoFontSize

FOSH

tsoFontShade

FOOP

tsoFontOpacity

FOCO

tsoFontColor

CHTX

tsoChangeText

HOSC

tsoHorScale

VESC

tsoVertScale

TRAK

tsoTrack

KERN

tsoKern

BASH

tsoBaseShift

SKW

tsoSkew

LEAD

tsoLeading

RSET

tsoReset

IGNR

tsoIgnoreAllOthers

 

Storage declarations relevant to interpretation

 

These are in-memory member and property types, not a list of mandatory XML children. They retain array bounds, fixed buffers and selector types. The field reference above defines what is actually serialized.

 

Name

Declared type / bounds

Kind

TextStyle

TmcTextStyle

member

TextStyleRemove

TmcTextStyle

member

FontSettings

TmcFontSettings

member

 

Implementation details

 

The Implementation toggle contains only TmcTextSettings methods. Initializers and helpers belonging to other types are identified separately below. Shared XML-helper limitations are explained in Reading this reference.

 

Declaration reproduces this record’s complete declaration from the supplied source, including its fields, properties and method signatures.

 

Declaration

 

Implementation