/*
 * UruShop Engraving: the five fonts of the engraving catalog, self-hosted (nothing is loaded
 * from Google at runtime).
 *
 *   classic = Playfair Display 600   bold  = Archivo Black 400   script = Dancing Script 600
 *   slab    = Roboto Slab 600        hand  = Caveat 600
 *
 * One @font-face per family and subset (Latin, Latin Extended), WOFF2 only, font-display: swap.
 * The url() paths are relative to this file (assets/). The WOFF2 files are unmodified copies from
 * the @fontsource/<family> npm packages; sources, versions and licences: fonts/LICENSES.md.
 * The unicode-range values are the ones fontsource publishes (identical for every package), and the
 * rule order is fontsource's (Latin Extended first, Latin last). The two ranges both list U+0304,
 * U+0308 and U+0329: combining marks, which engraving wording never allows, so it does not matter
 * which file serves them.
 *
 * The CSS family names declared here are deliberately UNIQUE ("UruShop Engraving Classic" and so
 * on, the catalog's 'face'), not the typefaces' own names: the theme already declares Archivo Black
 * and Playfair Display under their real names (themes/greenshift-child/theme.json), and two
 * @font-face rules with one family name merge in the browser. The real typeface names (the
 * catalog's 'family') are what both lasers' software must have installed (plan section 3,
 * decision 5).
 *
 * Which characters each font may be asked to draw is data/glyphs.json, generated from these exact
 * files by scripts/build-engraving-glyphs.js. Replace a file here and re-run that script;
 * tests/js/engraving-glyph-data.test.js fails until the data matches the files again.
 */

/* playfair-display-latin-ext-600-normal */
@font-face {
  font-family: 'UruShop Engraving Classic';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url('fonts/playfair-display-latin-ext-600-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* playfair-display-latin-600-normal */
@font-face {
  font-family: 'UruShop Engraving Classic';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url('fonts/playfair-display-latin-600-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* archivo-black-latin-ext-400-normal */
@font-face {
  font-family: 'UruShop Engraving Bold';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url('fonts/archivo-black-latin-ext-400-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* archivo-black-latin-400-normal */
@font-face {
  font-family: 'UruShop Engraving Bold';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url('fonts/archivo-black-latin-400-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* dancing-script-latin-ext-600-normal */
@font-face {
  font-family: 'UruShop Engraving Script';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url('fonts/dancing-script-latin-ext-600-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* dancing-script-latin-600-normal */
@font-face {
  font-family: 'UruShop Engraving Script';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url('fonts/dancing-script-latin-600-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* roboto-slab-latin-ext-600-normal */
@font-face {
  font-family: 'UruShop Engraving Slab';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url('fonts/roboto-slab-latin-ext-600-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* roboto-slab-latin-600-normal */
@font-face {
  font-family: 'UruShop Engraving Slab';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url('fonts/roboto-slab-latin-600-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* caveat-latin-ext-600-normal */
@font-face {
  font-family: 'UruShop Engraving Hand';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url('fonts/caveat-latin-ext-600-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* caveat-latin-600-normal */
@font-face {
  font-family: 'UruShop Engraving Hand';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url('fonts/caveat-latin-600-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
