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 |
Related DTOs¶
- font — Studio designer font catalogue; richer schema with CSS display, stretch, unicode-range; uses
designer/LFS prefix