class FluidbookFont extends SelectFromArray
{
+
+
public function getOptions()
{
- return self::getAvailableFonts();
+ $fonts = self::getAvailableFonts();
+ $res = [];
+ foreach ($fonts as $k => $font) {
+ $res[$k] = $font['fluidbook_label'];
+ }
+ return $res;
}
- public static function getAvailableFonts(){
+ public static function getAvailableFonts()
+ {
return [
- 'OpenSans' => 'Open Sans (' . __('défaut') . ')',
- 'Montserrat' => 'Montserrat',
- 'Metropolis' => 'Metropolis',
- 'Arial' => 'Arial, Helvetica, sans-serif (' . __('police système') . ')',
- 'sans-serif' => __('Police système sans-serif')
+ 'OpenSans' => ['fluidbook_label' => 'Open Sans (' . __('défaut') . ')', 'font_family' => '"Open Sans"', 'font_kit' => 'OpenSans'],
+ 'Montserrat' => ['fluidbook_label' => 'Montserrat', 'font_family' => 'Montserrat', 'font_kit' => 'Montserrat'],
+ 'Metropolis' => ['fluidbook_label' => 'Metropolis', 'font_family' => 'Metropolis', 'font_kit' => 'Metropolis'],
+ 'SourceSans' => ['fluidbook_label' => 'Source Sans', 'font_family' => '"Source Sans 3"', 'font_kit' => 'SourceSans'],
+ '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],
];
}
}
namespace App\Fluidbook\Compiler;
+use App\Fields\FluidbookFont;
use App\Fluidbook\Link\Link;
use App\Fluidbook\PDF;
use App\Fluidbook\SearchIndex;
protected function _font($f)
{
- $default = 'Arial, Helvetica, sans-serif';
- if ($f === 'OpenSans') {
- $f = 'Open Sans';
- }
- if (!$f) {
- $f = 'Open Sans';
- }
- switch ($f) {
- case 'sans-serif':
- return $f;
- case 'Arial':
- return $default;
- default:
- $this->addFontKit($f);
- return "'" . $f . "', " . $default;
+ $font = FluidbookFont::getAvailableFonts()[$f];
+ if ($font['font_kit']) {
+ $this->addFontKit($font['font_kit']);
}
+ return $font['font_family'];
}
protected function _themeBoolean($v)
return array_merge($res, $r);
}
- public function addFontKit($font)
+ public function addFontKit($kit)
{
- if ($font === 'sans-serif') {
+ if (!$kit) {
return;
}
- if ($font === 'Open Sans') {
- $font = 'OpenSans';
- }
- $path = 'style/fonts/' . $font;
+ $path = 'style/fonts/' . $kit;
$css = $path . '/font.css';
if (in_array($css, $this->stylesheets)) {
return;
}
$this->stylesheets[] = $css;
- $this->vdir->copyDirectory($this->assets . '/' . $path, $path);
+ $this->vdir->copyDirectory(resource_path('fluidbookpublication/fonts/' . $kit), $path);
return $path . '/font.css';
}
--- /dev/null
+@font-face {
+ font-family: 'Metropolis';
+ font-style: normal;
+ font-weight: 100;
+ src: local(''),
+ url('Metropolis-Thin.woff2') format('woff2'), url('Metropolis-Thin.woff') format('woff');
+}
+
+@font-face {
+ font-family: 'Metropolis';
+ font-style: Italic;
+ font-weight: 100;
+ src: local(''),
+ url('Metropolis-ThinItalic.woff2') format('woff2'), url('Metropolis-ThinItalic.woff') format('woff');
+}
+
+@font-face {
+ font-family: 'Metropolis';
+ font-style: normal;
+ font-weight: 200;
+ src: local(''),
+ url('Metropolis-ExtraLight.woff2') format('woff2'), url('Metropolis-ExtraLight.woff') format('woff');
+}
+
+@font-face {
+ font-family: 'Metropolis';
+ font-style: Italic;
+ font-weight: 200;
+ src: local(''),
+ url('Metropolis-ExtraLightItalic.woff2') format('woff2'), url('Metropolis-ExtraLightItalic.woff') format('woff');
+}
+
+@font-face {
+ font-family: 'Metropolis';
+ font-style: normal;
+ font-weight: 300;
+ src: local(''),
+ url('Metropolis-Light.woff2') format('woff2'), url('Metropolis-Light.woff') format('woff');
+}
+
+@font-face {
+ font-family: 'Metropolis';
+ font-style: Italic;
+ font-weight: 300;
+ src: local(''),
+ url('Metropolis-LightItalic.woff2') format('woff2'), url('Metropolis-LightItalic.woff') format('woff');
+}
+
+@font-face {
+ font-family: 'Metropolis';
+ font-style: normal;
+ font-weight: 400;
+ src: local(''),
+ url('Metropolis-Regular.woff2') format('woff2'), url('Metropolis-Regular.woff') format('woff');
+}
+
+@font-face {
+ font-family: 'Metropolis';
+ font-style: normal;
+ font-weight: 500;
+ src: local(''),
+ url('Metropolis-Medium.woff2') format('woff2'), url('Metropolis-Medium.woff') format('woff');
+}
+
+@font-face {
+ font-family: 'Metropolis';
+ font-style: Italic;
+ font-weight: 400;
+ src: local(''),
+ url('Metropolis-RegularItalic.woff2') format('woff2'), url('Metropolis-RegularItalic.woff') format('woff');
+}
+
+@font-face {
+ font-family: 'Metropolis';
+ font-style: Italic;
+ font-weight: 500;
+ src: local(''),
+ url('Metropolis-MediumItalic.woff2') format('woff2'), url('Metropolis-MediumItalic.woff') format('woff');
+}
+
+@font-face {
+ font-family: 'Metropolis';
+ font-style: normal;
+ font-weight: 600;
+ src: local(''),
+ url('Metropolis-SemiBold.woff2') format('woff2'), url('Metropolis-SemiBold.woff') format('woff');
+}
+
+@font-face {
+ font-family: 'Metropolis';
+ font-style: Italic;
+ font-weight: 600;
+ src: local(''),
+ url('Metropolis-SemiBoldItalic.woff2') format('woff2'), url('Metropolis-SemiBoldItalic.woff') format('woff');
+}
+
+@font-face {
+ font-family: 'Metropolis';
+ font-style: normal;
+ font-weight: 700;
+ src: local(''),
+ url('Metropolis-Bold.woff2') format('woff2'), url('Metropolis-Bold.woff') format('woff');
+}
+
+@font-face {
+ font-family: 'Metropolis';
+ font-style: Italic;
+ font-weight: 700;
+ src: local(''),
+ url('Metropolis-BoldItalic.woff2') format('woff2'), url('Metropolis-BoldItalic.woff') format('woff');
+}
+
+@font-face {
+ font-family: 'Metropolis';
+ font-style: normal;
+ font-weight: 800;
+ src: local(''),
+ url('Metropolis-ExtraBold.woff2') format('woff2'), url('Metropolis-ExtraBold.woff') format('woff');
+}
+
+@font-face {
+ font-family: 'Metropolis';
+ font-style: Italic;
+ font-weight: 800;
+ src: local(''),
+ url('Metropolis-ExtraBoldItalic.woff2') format('woff2'), url('Metropolis-ExtraBoldItalic.woff') format('woff');
+}
+
+@font-face {
+ font-family: 'Metropolis';
+ font-style: normal;
+ font-weight: 900;
+ src: local(''),
+ url('Metropolis-Black.woff2') format('woff2'), url('Metropolis-Black.woff') format('woff');
+}
+
+@font-face {
+ font-family: 'Metropolis';
+ font-style: Italic;
+ font-weight: 900;
+ src: local(''),
+ url('Metropolis-BlackItalic.woff2') format('woff2'), url('Metropolis-BlackItalic.woff') format('woff');
+}
--- /dev/null
+/* 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+ */
+}
+
+/* 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+ */
+}
+
+/* montserrat-200 - vietnamese_latin-ext_latin_cyrillic-ext_cyrillic */
+@font-face {
+ font-family: 'Montserrat';
+ font-style: normal;
+ 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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}
+
+/* montserrat-regular - vietnamese_latin-ext_latin_cyrillic-ext_cyrillic */
+@font-face {
+ font-family: 'Montserrat';
+ font-style: normal;
+ 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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}
--- /dev/null
+/* 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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}
--- /dev/null
+/* 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+ */
+}
+
+/* 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-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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}
+
+/* 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+ */
+}