---
name: "mdbFontset"
section: "5"
platform: "linux"
package: "m17n-docs"
version: "1.8.4-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/mdbFontset"
---

# mdbFontset(5)

Fontset

## NAME

mdbFontset - Fontset

## DESCRIPTION

The m17n library loads a fontset definition from the m17n database by the tags \<fontset, FONTSET-NAME\>. The plist format of the data is as follows:

```
FONTSET ::= PER-SCRIPT * PER-CHARSET * FALLBACK *
PER-SCRIPT ::= '(' SCRIPT PER-LANGUAGE + ')'
PER-LANGUAGE ::= '(' LANGUAGE FONT-SPEC-ELEMENT + ')'
PER-CHARSET ::= '(' CHARSET FONT-SPEC-ELEMENT + ')'
FALLBACK ::= FONT-SPEC-ELEMENT
FONT-SPEC-ELEMENT ::= '(' FONT-SPEC [ FLT-NAME ] ')'
FONT-SPEC ::=
     '(' [ FOUNDRY FAMILY
           [ WEIGHT [ STYLE [ STRETCH [ ADSTYLE ]]]]]
         REGISTRY
     [ OTF-SPEC ] [ LANG-SPEC ] ')'
```

`SCRIPT` is a symbol of script name (e.g. latin, han) or `nil`. `LANGUAGE` is a two-letter symbol of language name code defined by ISO 639 (e.g. ja, zh) or `nil`.

`FONT-SPEC` is to specify properties of a font. `FOUNDRY` to `REGISTRY` are symbols corresponding to #Mfoundry to #Mregistry property of a font. See **m17nFont** for the meaning of each property.

`OTF-SPEC` is a symbol specifyng the required OTF features. The symbol name has the following syntax.

```
  OTF-SPEC-NAME ::= ':otf=' SCRIPT LANGSYS ? GSUB-FEATURES ? GPOS-FEATURES ?
  SCRIPT ::= SYMBOL
  LANGSYS ::= '/' SYMBOL
  GSUB-FEATURES ::= '=' FEATURE-LIST ?
  GPOS-FEATURES ::= '+' FEATURE-LIST ?
  FEATURE-LIST ::= '~' ? FEATURE ( ',' '~' ? FEATURE ',' ).fi
```

Here, `FEATURE` is a four-letter Open Type feature.

`LANG-SPEC` is a symbol specifying the required language support. The symbol name has the following syntax.

```
  LANG-SPEC-NAME ::= ':lang=' LANG
```

Here, `LANG` is a two or three-letter ISO-639 language code.

`FLT-NAME` is a name of Font Layout Table (**Font Layout Table**).

## EXAMPLE

This is an example of `PER_SCRIPT`.

```
(han
  (ja
    ((jisx0208.1983-0)))
  (zh
    ((gb2312.1980-0)))
  (nil
    ((big5-0))))
```

It instructs the font selector to use a font of registry 'jisx0208.1983-0' for a 'han' character (i.e. a character whose #Mscript property is 'han') if the character has #Mlanguage text property 'ja' in an M-text and the character is in the repertories of such fonts. Otherwise, try a font of registry 'gb2312.1980-0' or 'big5-0'. If that 'han' character does not have #Mlanguage text property, try all three fonts.

See the function mdraw\_text() for the detail of how a font is selected.

## COPYRIGHT

Copyright (C) 2001 Information-technology Promotion Agency (IPA)\
 Copyright (C) 2001-2011 National Institute of Advanced Industrial Science and Technology (AIST)\
 Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License  \<http://www.gnu.org/licenses/fdl.html\>.
