Dynamic Type

Unofficial Content

As explained briefly in iOS 7 New features Dynamic Type is one of the new features introduced by Apple on iOS 7 Overview

The main scenario for this feature is a simple way to have readable text.

A simple way to have readable text

To allow this the OS:

  • Makes automatic adjustments to letter spacing and line height for every font size.
  • Has the ability to specify text style semantically such as Body, Footnote, etc.

dynamictype

In GeneXus

To handle this in GeneXus, the Font Category property was implemented within the properties group 'Font' of the classes in the Themes for Smart Devices.

The values of the Font Category property are:

Headline Used for heading texts.
Subheadline Used for subtitles.
Body Used for general text.
Footnote Used for notes.
Caption1 Used for standard titles.
Caption2 Used for alternative titles.

 

This property gives the fonts semantics regarding the intent with which it will be used and then, on this basis, to calculate the default values of the existing properties (Font Weight, Font Size, etc) and set the font properties that are not configurable from GeneXus (letter spacing or line height for example), or the properties configurable at runtime by the user of the device (Text Size).

For example, when Font Category property uses one of this values and:

  • Font Size property is empty or 0dip, then it will take the value corresponding to the selected category and the size that the user has configured on his device. Note that 0dip may be useful to override an inherited value of another parent class.
  • Font Weight or Font Style properties are empty and Font Family is empty, Normal/Bold and Normal/Italic will be used respectively for Font Weight and Font Style based on the selected category.

As a recommendation for iOS 7, always use the Font Category property and set empty the Font Size when the text corresponds to content so that the Text Size preferred by the user is used.

Availability

This feature is avialable as from GeneXus X Evolution 2 Upgrade 4 and GeneXus Tilo Beta 2