Skip to content

Eccfont

Version: v1 (minor version 0) Scope: per-tenant Owning service: studio-design-library

An Eccfont records a font file uploaded for use by the ECC (Electronic Commerce Client) image render service. While Font carries the full CSS @font-face descriptor set needed by the web-based Studio renderer, Eccfont is a leaner record tailored to the ECC renderer's needs: family name, style, weight, and format. Unicode range, stretch, and display strategy are not included. The font binary lives in LFS under the ecc/ path prefix, separate from the Studio designer fonts. The ID is derived by base32-encoding the original font filename, so re-uploading a font with the same filename naturally overwrites the existing record.

ID pattern

t/{tenantid}/eccfonts/{fontid}

Segment Meaning
t/{tenantid} Tenant scope
eccfonts Fixed collection name, separate from the fonts catalogue
{fontid} Base32 lowercase encoding of the original font filename (e.g. roboto-regular-400.ttf encodes to a fixed base32 string). Same filename always produces the same ID.

Schema

Field Type Description
id string Full resource name following the ID pattern above
display_name string PostScript name of the font for unique identification
file_path string LFS path to the TTF file. Format: ecc/t/<tenant-id>/fonts/<sha256>.ttf. Content-addressed via SHA-256.
family_name string Font family name as used in ECC model presentations (the fontName field). Examples: Arial, Noto Sans, RobotoFlex
style FontStyleValue enum Whether the face is normal or italic
static_weight int32 (oneof weight) Single fixed weight for static fonts (e.g. 400 for regular, 700 for bold)
variable_weight_range WeightRange (oneof weight) Min/max weight range for variable fonts (e.g. min=100, max=900)
format string Font file format hint (e.g. truetype for .ttf files)

FontStyleValue enum

Value Meaning
FONT_STYLE_VALUE_UNSPECIFIED (0) Unset
NORMAL (1) Normal upright style
ITALIC (2) Italic style

WeightRange message

Field Type Description
min int32 Minimum weight supported (inclusive)
max int32 Maximum weight supported (inclusive)

The weight range is particularly useful for selective loading in the multi-tenant ECC service. A query such as "which fonts can render at weight 700?" can be answered by checking static_weight == 700 OR (min <= 700 AND max >= 700).

LFS path prefix

ECC fonts use the ecc/t/<tenant-id>/fonts/ prefix, which is distinct from the designer/t/<tenant-id>/fonts/ prefix used by Font. This separation keeps the two font catalogues independently managed and prevents accidental cross-contamination.

Consumed by

Service Why
ecc-image-render-service Loads the TTF binary from LFS by file_path and uses family_name to match font references in ECC model presentation data
  • font — Studio designer font catalogue; richer schema with CSS display, stretch, unicode-range; uses designer/ LFS prefix