Project: /_project.yaml Book: /_book.yaml

fuchsia.fonts

PROTOCOLS

FontSetEventListener {:#FontSetEventListener}

Defined in fuchsia.fonts/events.fidl

Protocol for listening to possible events that may occur in the Provider's set of fonts.

Register a listener using Provider.RegisterFontSetEventListener.

OnFontSetUpdated {:#OnFontSetUpdated}

The set of fonts available in the Provider has changed. See FontSetUpdatedEvent.

Request

Response

Provider {:#Provider}

Defined in fuchsia.fonts/font_provider.fidl

Provider of digital font files and metadata.

TODO(I18N-12): Remove deprecated methods and move to provider.fidl.

GetFont {:#GetFont}

Deprecated. See GetTypeface.

Returns font that matches specified request.

Request

Response

GetFamilyInfo {:#GetFamilyInfo}

Deprecated. See GetFontFamilyInfo.

Returns information for the specified font family or null if there is no family with the specified name. This function respects family name aliases and ignores case, so request for “robotoSLAB” will return FamilyInfo for “Roboto Slab”.

Request

Response

GetTypeface {:#GetTypeface}

Returns a typeface that matches the specified request, or an empty table if no matching face is found. (The latter is more likely to happen if TypefaceRequestFlags.EXACT_FAMILY is used to disable fallbacks.)

Request

Response

GetFontFamilyInfo {:#GetFontFamilyInfo}

Returns information for the specified font family, or an empty table if there is no family with the specified name.

This function respects family name aliases and ignores case. For example, “RobotoSlab” is an alias for the canonical name “Roboto Slab”. A request for “robotoSLAB” would return the FontFamilyInfo for “Roboto Slab” due to the case-insensitivity and alias resolution.

Request

Response

RegisterFontSetEventListener {:#RegisterFontSetEventListener}

Register a listener to be notified when the set of available fonts or mappings has changed. A client can register as many listeners as it wishes.

To unregister, close the channel.

Request

Response

STRUCTS

Request {:#Request}

Defined in fuchsia.fonts/font_provider.fidl

Deprecated. See FaceRequest.

Response {:#Response}

Defined in fuchsia.fonts/font_provider.fidl

Style {:#Style}

Defined in fuchsia.fonts/font_provider.fidl

Deprecated. See Style2.

FamilyInfo {:#FamilyInfo}

Defined in fuchsia.fonts/font_provider.fidl

Deprecated. See FontFamilyInfo.

Information about font family that can be requested using GetFamilyInfo().

FamilyName {:#FamilyName}

Defined in fuchsia.fonts/provider.fidl

The name of a family of fonts.

Examples: “Roboto”, “Noto Serif”.

ENUMS

FallbackGroup {:#FallbackGroup}

Type: uint32

Defined in fuchsia.fonts/font_provider.fidl

Deprecated. See GenericFontFamily.

Slant {:#Slant}

Type: uint32

Defined in fuchsia.fonts/styles.fidl

The type of slant of a type face.

Width {:#Width}

Type: uint32

Defined in fuchsia.fonts/styles.fidl

Horizontal width class of the glyphs.

See https://docs.microsoft.com/en-us/typography/opentype/spec/os2#uswidthclass.

GenericFontFamily {:#GenericFontFamily}

Type: uint32

Defined in fuchsia.fonts/styles.fidl

Generic groups of font families that can serve as fallbacks for a specific family.

Every font family belongs to some generic font family (see examples below).

If an exact requested family is unavailable but a fallback group is specified in the request, the provider may return some other family that belongs to the fallback group. For example, if the client requests the “Arial” family with a SANS_SERIF fallback, and “Arial” is unavailable, the provider may return another available sans serif family, such as “Roboto Regular”, instead.

See also: https://www.w3.org/TR/css-fonts-4/#generic-font-families

Not commonly used.

Not commonly used.

Not commonly used.

TABLES

FontSetUpdatedEvent {:#FontSetUpdatedEvent}

Defined in fuchsia.fonts/events.fidl

An event indicating that the set of fonts available in the Provider has changed. This is most frequently caused by an ephemeral font being downloaded and cached. Clients should consider re-requesting fonts and re-rendering any displayed text.

TypefaceRequest {:#TypefaceRequest}

Defined in fuchsia.fonts/provider.fidl

Parameters for requesting a typeface.

TypefaceQuery {:#TypefaceQuery}

Defined in fuchsia.fonts/provider.fidl

Parameters for looking up a typeface.

Note: In cases where the specified family doesn‘t exist, or the specified family doesn’t have a glyph for the requested code_point, a face from another family may be returned. This behavior can be disabled using TypefaceRequestFlags.EXACT_FAMILY.

See fuchsia.intl.LocaleId.

Callers that specify this field are expected to extract the character set from the result and cache it in order to avoid calling the API more than necessary.

Every font family belongs to a generic family (configured in the font manifest). If a particular font family doesn't contain a requested code point, the provider can search for the code point in other font families in the same generic family as a fallback.

Specifying fallback_family in a query allows the client to override the generic family that would be used as a fallback.

TypefaceResponse {:#TypefaceResponse}

Defined in fuchsia.fonts/provider.fidl

Response to a TypefaceRequest. Contains the digital font file and metadata corresponding to a returned typeface. Clients are expected to cache the results if they plan to reuse them.

If a matching typeface cannot be found, the table will be empty.

FontFamilyInfo {:#FontFamilyInfo}

Defined in fuchsia.fonts/provider.fidl

Information about a font family that can be requested using Provider.GetFontFamilyInfo().

If a matching font family is not found, the table will be empty.

Style2 {:#Style2}

Defined in fuchsia.fonts/styles.fidl

Style properties that can be used when requesting or describing a type face.

See: https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight#Common_weight_name_mapping https://docs.microsoft.com/en-us/typography/opentype/spec/os2#usweightclass

BITS

TypefaceRequestFlags {:#TypefaceRequestFlags}

Type: uint32

CONSTANTS