diff --git a/addons/website/static/src/scss/secondary_variables.scss b/addons/website/static/src/scss/secondary_variables.scss index 1f42a6155b4..53f8f9ed922 100644 --- a/addons/website/static/src/scss/secondary_variables.scss +++ b/addons/website/static/src/scss/secondary_variables.scss @@ -1,4 +1,3 @@ - //------------------------------------------------------------------------------ // Website customizations //------------------------------------------------------------------------------ @@ -24,12 +23,39 @@ $-first-font-name: nth(map-keys($o-theme-font-configs), 1); @return $values; } +// Some fonts have been renamed in a stable version, and for retro compatibility +// for users which have a custom user_values.css as attachment with an old font +// already used, we map the old font with the new `similar` font +$o-fonts-similar: ( + 'Droid Serif': 'Noto Serif', + 'SinKinSans': 'Spartan', + 'Proxima': 'Montserrat', + 'Comic Sans MS': 'Comic Neue', + 'Fontastique': 'Bubblegum Sans', + 'Luminari': 'Eagle Lake', + 'Fecske': 'Marcellus', + 'Din Alternate': 'Roboto', +); + +@function o-map-font-aliases($values) { + $-values: $values; + @each $key in map-values($o-font-aliases-to-keys) { + $value: map-get($values, $key); + @if ($value and map-has-key($o-fonts-similar, $value)) { + $-values: map-merge($-values, ( + $key: map-get($o-fonts-similar, $value), + )); + } + } + @return $-values; +}; + // By default, most website palette values are null. Each null value is // automatically replaced with corresponsing values in chosen default values // palette. $-website-values-default: o-safe-nth($o-website-values-palettes, $o-website-values-palette-number, ()); $-website-values-default: map-merge($o-base-website-values-palette, o-map-omit($-website-values-default)); -$o-user-website-values: o-map-omit($o-user-website-values); +$o-user-website-values: o-map-font-aliases(o-map-omit($o-user-website-values)); $-actual-user-website-values-palette: map-merge($-website-values-default, $o-user-website-values); // Default font selection + User font selection have been merged, now need to // add the right associated font default config