public static function getAvailableFonts()
{
return [
- 'OpenSans' => ['fluidbook_label' => 'Open Sans', 'font_family' => '"Open Sans"', 'font_kit' => 'OpenSans'],
- 'Montserrat' => ['fluidbook_label' => 'Montserrat', 'font_family' => 'Montserrat', 'font_kit' => 'Montserrat'],
+ 'OpenSans' => ['fluidbook_label' => 'Open Sans', 'font_family' => '"Open Sans"', 'font_kit' => 'OpenSans', 'fontkit_download_name' => 'open-sans'],
+ 'Montserrat' => ['fluidbook_label' => 'Montserrat', 'font_family' => 'Montserrat', 'font_kit' => 'Montserrat', 'fontkit_download_name' => 'montserrat'],
'Metropolis' => ['fluidbook_label' => 'Metropolis', 'font_family' => 'Metropolis', 'font_kit' => 'Metropolis'],
- 'SourceSans' => ['fluidbook_label' => 'Source Sans', 'font_family' => '"Source Sans 3"', 'font_kit' => 'SourceSans'],
+ 'SourceSans' => ['fluidbook_label' => 'Source Sans', 'font_family' => '"Source Sans 3"', 'font_kit' => 'SourceSans', 'fontkit_download_name' => 'source-sans-3'],
'Arial' => ['fluidbook_label' => 'Arial, Helvetica, sans-serif (' . __('police système') . ')', 'font_family' => 'Arial, Helvetica, sans-serif', 'font_kit' => false],
'sans-serif' => ['fluidbook_label' => __('Police système sans-serif'), 'font_family' => 'sans-serif', 'font_kit' => false],
];
--- /dev/null
+<?php
+
+namespace App\Jobs;
+
+use App\Fields\FluidbookFont;
+use Cubist\Util\Files\Files;
+use Cubist\Util\Zip;
+
+class UpdateFontKits
+{
+ public function handle()
+ {
+ $kits = FluidbookFont::getAvailableFonts();
+ foreach ($kits as $kit) {
+ if (!isset($kit['fontkit_download_name'])) {
+ continue;
+ }
+ $downloadURL = 'https://gwfh.mranftl.com/api/fonts/' . $kit['fontkit_download_name'] . '?download=zip&subsets=cyrillic,cyrillic-ext,greek,greek-ext,hebrew,latin,latin-ext,math,symbols,vietnamese&variants=100,200,300,regular,500,600,700,800,900,100italic,200italic,300italic,italic,500italic,600italic,700italic,800italic,900italic&formats=woff2';
+ $zip = Files::tempnam() . '.zip';
+ copy($downloadURL, $zip);
+ $dest = Files::emptyDir(resource_path('fluidbookpublication/fonts/' . $kit['font_kit']));
+ Zip::extract($zip, $dest);
+
+ $css = '';
+
+ foreach (Files::getDirectoryIterator($dest) as $font) {
+ if (!$font->isFile() || $font->getExtension() !== 'woff2') {
+ continue;
+ }
+ $name = $font->getBasename('.woff2');
+ $e = explode('-', $name);
+ $weightstyle = array_pop($e);
+ $style = (stristr($weightstyle, 'italic') !== false) ? 'italic' : 'normal';
+ if ($weightstyle === 'italic' || $weightstyle === 'regular') {
+ $weight = 400;
+ } else {
+ $weight = substr($weightstyle, 0, 3);
+ }
+ $f = $weightstyle . '.woff2';
+ rename($font->getPathname(), $dest . $f);
+ $css .= "@font-face {
+ font-family: '" . trim($kit['font_family'], '"\'') . "';
+ font-style: " . $style . ";
+ font-weight: " . $weight . ";
+ src: url('" . $f . "') format('woff2');
+}
+
+";
+
+ file_put_contents($dest . 'font.css', $css);
+ }
+ }
+ }
+}
-/* montserrat-100 - vietnamese_latin-ext_latin_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Montserrat';
font-style: normal;
- font-weight: 100;
- src: local(''),
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-100.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-100.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
+ font-weight: 600;
+ url('600.woff2') format('woff2');
}
-/* montserrat-100italic - vietnamese_latin-ext_latin_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Montserrat';
- font-style: italic;
- font-weight: 100;
- src: local(''),
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-100italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-100italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
+ font-style: normal;
+ font-weight: 900;
+ url('900.woff2') format('woff2');
}
-/* montserrat-200 - vietnamese_latin-ext_latin_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Montserrat';
- font-style: normal;
+ font-style: italic;
font-weight: 200;
- src: local(''),
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-200.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-200.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
+ url('200italic.woff2') format('woff2');
}
-/* montserrat-200italic - vietnamese_latin-ext_latin_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Montserrat';
- font-style: italic;
- font-weight: 200;
- src: local(''),
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-200italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-200italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
+ font-style: normal;
+ font-weight: 100;
+ url('100.woff2') format('woff2');
}
-/* montserrat-300 - vietnamese_latin-ext_latin_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Montserrat';
- font-style: normal;
- font-weight: 300;
- src: local(''),
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
+ font-style: italic;
+ font-weight: 500;
+ url('500italic.woff2') format('woff2');
}
-/* montserrat-300italic - vietnamese_latin-ext_latin_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Montserrat';
font-style: italic;
- font-weight: 300;
- src: local(''),
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-300italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-300italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
+ font-weight: 600;
+ url('600italic.woff2') format('woff2');
}
-/* montserrat-regular - vietnamese_latin-ext_latin_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Montserrat';
- font-style: normal;
+ font-style: italic;
font-weight: 400;
- src: local(''),
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
+ url('italic.woff2') format('woff2');
}
-/* montserrat-500 - vietnamese_latin-ext_latin_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Montserrat';
font-style: normal;
- font-weight: 500;
- src: local(''),
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-500.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-500.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
+ font-weight: 200;
+ url('200.woff2') format('woff2');
}
-/* montserrat-italic - vietnamese_latin-ext_latin_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Montserrat';
font-style: italic;
- font-weight: 400;
- src: local(''),
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
+ font-weight: 300;
+ url('300italic.woff2') format('woff2');
}
-/* montserrat-500italic - vietnamese_latin-ext_latin_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Montserrat';
font-style: italic;
- font-weight: 500;
- src: local(''),
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-500italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-500italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
+ font-weight: 900;
+ url('900italic.woff2') format('woff2');
}
-/* montserrat-600 - vietnamese_latin-ext_latin_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Montserrat';
font-style: normal;
- font-weight: 600;
- src: local(''),
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-600.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
+ font-weight: 800;
+ url('800.woff2') format('woff2');
}
-/* montserrat-600italic - vietnamese_latin-ext_latin_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Montserrat';
font-style: italic;
- font-weight: 600;
- src: local(''),
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-600italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-600italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
+ font-weight: 800;
+ url('800italic.woff2') format('woff2');
}
-/* montserrat-700 - vietnamese_latin-ext_latin_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Montserrat';
font-style: normal;
font-weight: 700;
- src: local(''),
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
+ url('700.woff2') format('woff2');
}
-/* montserrat-700italic - vietnamese_latin-ext_latin_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Montserrat';
- font-style: italic;
- font-weight: 700;
- src: local(''),
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-700italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-700italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
+ font-style: normal;
+ font-weight: 300;
+ url('300.woff2') format('woff2');
}
-/* montserrat-800 - vietnamese_latin-ext_latin_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Montserrat';
font-style: normal;
- font-weight: 800;
- src: local(''),
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-800.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-800.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
+ font-weight: 500;
+ url('500.woff2') format('woff2');
}
-/* montserrat-800italic - vietnamese_latin-ext_latin_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Montserrat';
font-style: italic;
- font-weight: 800;
- src: local(''),
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-800italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-800italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
+ font-weight: 100;
+ url('100italic.woff2') format('woff2');
}
-/* montserrat-900 - vietnamese_latin-ext_latin_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Montserrat';
- font-style: normal;
- font-weight: 900;
- src: local(''),
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-900.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-900.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
+ font-style: italic;
+ font-weight: 700;
+ url('700italic.woff2') format('woff2');
}
-/* montserrat-900italic - vietnamese_latin-ext_latin_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Montserrat';
- font-style: italic;
- font-weight: 900;
- src: local(''),
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-900italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
- url('montserrat-v15-vietnamese_latin-ext_latin_cyrillic-ext_cyrillic-900italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
+ font-style: normal;
+ font-weight: 400;
+ url('regular.woff2') format('woff2');
}
+
-/* open-sans-300 - vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Open Sans';
- font-style: normal;
- font-weight: 300;
- src: local(''),
- url('open-sans-v18-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
- url('open-sans-v18-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
+ font-style: italic;
+ font-weight: 700;
+ url('700italic.woff2') format('woff2');
}
-/* open-sans-300italic - vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Open Sans';
- font-style: italic;
- font-weight: 300;
- src: local(''),
- url('open-sans-v18-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
- url('open-sans-v18-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-300italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
+ font-style: normal;
+ font-weight: 400;
+ url('regular.woff2') format('woff2');
}
-/* open-sans-regular - vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: normal;
- font-weight: 400;
- src: local(''),
- url('open-sans-v18-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
- url('open-sans-v18-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
+ font-weight: 500;
+ url('500.woff2') format('woff2');
}
-/* open-sans-italic - vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: italic;
- font-weight: 400;
- src: local(''),
- url('open-sans-v18-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
- url('open-sans-v18-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
+ font-weight: 800;
+ url('800italic.woff2') format('woff2');
}
-/* open-sans-600 - vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Open Sans';
- font-style: normal;
- font-weight: 600;
- src: local(''),
- url('open-sans-v18-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
- url('open-sans-v18-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-600.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
+ font-style: italic;
+ font-weight: 300;
+ url('300italic.woff2') format('woff2');
}
-/* open-sans-600italic - vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Open Sans';
- font-style: italic;
- font-weight: 600;
- src: local(''),
- url('open-sans-v18-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-600italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
- url('open-sans-v18-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-600italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
+ font-style: normal;
+ font-weight: 300;
+ url('300.woff2') format('woff2');
}
-/* open-sans-700 - vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: normal;
- font-weight: 700;
- src: local(''),
- url('open-sans-v18-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
- url('open-sans-v18-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
+ font-weight: 800;
+ url('800.woff2') format('woff2');
}
-/* open-sans-700italic - vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: italic;
- font-weight: 700;
- src: local(''),
- url('open-sans-v18-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-700italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
- url('open-sans-v18-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-700italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
+ font-weight: 600;
+ url('600italic.woff2') format('woff2');
+}
+
+@font-face {
+ font-family: 'Open Sans';
+ font-style: italic;
+ font-weight: 500;
+ url('500italic.woff2') format('woff2');
}
-/* open-sans-800 - vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: normal;
- font-weight: 800;
- src: local(''),
- url('open-sans-v18-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-800.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
- url('open-sans-v18-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-800.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
+ font-weight: 600;
+ url('600.woff2') format('woff2');
}
-/* open-sans-800italic - vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: italic;
- font-weight: 800;
- src: local(''),
- url('open-sans-v18-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-800italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
- url('open-sans-v18-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-800italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
+ font-weight: 400;
+ url('italic.woff2') format('woff2');
}
+
+@font-face {
+ font-family: 'Open Sans';
+ font-style: normal;
+ font-weight: 700;
+ url('700.woff2') format('woff2');
+}
+
-/* source-sans-3-200 - cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese */
@font-face {
- font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Source Sans 3';
font-style: normal;
- font-weight: 200;
- src: url('source-sans-3-v9-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-200.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+ font-weight: 600;
+ url('600.woff2') format('woff2');
}
-/* source-sans-3-200italic - cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese */
@font-face {
- font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Source Sans 3';
- font-style: italic;
+ font-style: normal;
font-weight: 200;
- src: url('source-sans-3-v9-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-200italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+ url('200.woff2') format('woff2');
}
-/* source-sans-3-300 - cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese */
@font-face {
- font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Source Sans 3';
- font-style: normal;
- font-weight: 300;
- src: url('source-sans-3-v9-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+ font-style: italic;
+ font-weight: 700;
+ url('700italic.woff2') format('woff2');
}
-/* source-sans-3-300italic - cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese */
@font-face {
- font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Source Sans 3';
- font-style: italic;
- font-weight: 300;
- src: url('source-sans-3-v9-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+ font-style: normal;
+ font-weight: 800;
+ url('800.woff2') format('woff2');
}
-/* source-sans-3-regular - cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese */
@font-face {
- font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Source Sans 3';
- font-style: normal;
- font-weight: 400;
- src: url('source-sans-3-v9-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+ font-style: italic;
+ font-weight: 600;
+ url('600italic.woff2') format('woff2');
}
-/* source-sans-3-italic - cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese */
@font-face {
- font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Source Sans 3';
font-style: italic;
- font-weight: 400;
- src: url('source-sans-3-v9-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+ font-weight: 200;
+ url('200italic.woff2') format('woff2');
}
-/* source-sans-3-500 - cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese */
@font-face {
- font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Source Sans 3';
font-style: normal;
- font-weight: 500;
- src: url('source-sans-3-v9-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+ font-weight: 400;
+ url('regular.woff2') format('woff2');
}
-/* source-sans-3-500italic - cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese */
@font-face {
- font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Source Sans 3';
font-style: italic;
- font-weight: 500;
- src: url('source-sans-3-v9-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+ font-weight: 800;
+ url('800italic.woff2') format('woff2');
}
-/* source-sans-3-600 - cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese */
@font-face {
- font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Source Sans 3';
font-style: normal;
- font-weight: 600;
- src: url('source-sans-3-v9-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+ font-weight: 700;
+ url('700.woff2') format('woff2');
}
-/* source-sans-3-600italic - cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese */
@font-face {
- font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Source Sans 3';
font-style: italic;
- font-weight: 600;
- src: url('source-sans-3-v9-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+ font-weight: 900;
+ url('900italic.woff2') format('woff2');
}
-/* source-sans-3-700 - cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese */
@font-face {
- font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Source Sans 3';
font-style: normal;
- font-weight: 700;
- src: url('source-sans-3-v9-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+ font-weight: 900;
+ url('900.woff2') format('woff2');
}
-/* source-sans-3-700italic - cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese */
@font-face {
- font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Source Sans 3';
font-style: italic;
- font-weight: 700;
- src: url('source-sans-3-v9-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+ font-weight: 500;
+ url('500italic.woff2') format('woff2');
}
-/* source-sans-3-800 - cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese */
@font-face {
- font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Source Sans 3';
font-style: normal;
- font-weight: 800;
- src: url('source-sans-3-v9-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+ font-weight: 300;
+ url('300.woff2') format('woff2');
}
-/* source-sans-3-800italic - cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese */
@font-face {
- font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Source Sans 3';
font-style: italic;
- font-weight: 800;
- src: url('source-sans-3-v9-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-800italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+ font-weight: 300;
+ url('300italic.woff2') format('woff2');
}
-/* source-sans-3-900 - cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese */
@font-face {
- font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Source Sans 3';
- font-style: normal;
- font-weight: 900;
- src: url('source-sans-3-v9-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+ font-style: italic;
+ font-weight: 400;
+ url('italic.woff2') format('woff2');
}
-/* source-sans-3-900italic - cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese */
@font-face {
- font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Source Sans 3';
- font-style: italic;
- font-weight: 900;
- src: url('source-sans-3-v9-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-900italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+ font-style: normal;
+ font-weight: 500;
+ url('500.woff2') format('woff2');
}
+