[dw-free] Styles: loophole in header font strings
[commit: http://hg.dwscoalition.org/dw-free/rev/9d6bd9196dac]
http://bugs.dwscoalition.org/show_bug.cgi?id=2981
If no specific font is set, default to font_base and not just font_fallback
(otherwise users have to set the same font over and over for each element
they have a setting for). May change fonts for styles with a font_base but
without specific fonts.
Patch by
ninetydegrees.
Files modified:
http://bugs.dwscoalition.org/show_bug.cgi?id=2981
If no specific font is set, default to font_base and not just font_fallback
(otherwise users have to set the same font over and over for each element
they have a setting for). May change fonts for styles with a font_base but
without specific fonts.
Patch by
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Files modified:
- bin/upgrading/s2layers/bases/layout.s2
- bin/upgrading/s2layers/blanket/layout.s2
- bin/upgrading/s2layers/brittle/layout.s2
- bin/upgrading/s2layers/core2.s2
- bin/upgrading/s2layers/core2base/layout.s2
- bin/upgrading/s2layers/drifting/layout.s2
- bin/upgrading/s2layers/easyread/layout.s2
- bin/upgrading/s2layers/funkycircles/layout.s2
- bin/upgrading/s2layers/negatives/layout.s2
- bin/upgrading/s2layers/practicality/layout.s2
- bin/upgrading/s2layers/refriedtablet/layout.s2
- bin/upgrading/s2layers/skittlishdreams/layout.s2
-------------------------------------------------------------------------------- diff -r af8a089f4abd -r 9d6bd9196dac bin/upgrading/s2layers/bases/layout.s2 --- a/bin/upgrading/s2layers/bases/layout.s2 Fri Oct 22 23:12:04 2010 +0800 +++ b/bin/upgrading/s2layers/bases/layout.s2 Fri Oct 22 23:18:04 2010 +0800 @@ -301,14 +301,14 @@ if ($*layout_type == "two-columns-left") if ($*layout_type == "two-columns-left") { $sidebar_position = "left"; $sidebar_position_opposite = "right"; } elseif ($*layout_type == "two-columns-right") { $sidebar_position = "right"; $sidebar_position_opposite = "left"; } -var string page_font = generate_font_css($*font_base, $*font_fallback, $*font_base_size, $*font_base_units); -var string page_title_font = generate_font_css($*font_journal_title, $*font_fallback, $*font_journal_title_size, $*font_journal_title_units); -var string page_subtitle_font = generate_font_css($*font_journal_subtitle, $*font_fallback, $*font_journal_subtitle_size, $*font_journal_subtitle_units); +var string page_font = generate_font_css("", $*font_base, $*font_fallback, $*font_base_size, $*font_base_units); +var string page_title_font = generate_font_css($*font_journal_title, $*font_base, $*font_fallback, $*font_journal_title_size, $*font_journal_title_units); +var string page_subtitle_font = generate_font_css($*font_journal_subtitle, $*font_base, $*font_fallback, $*font_journal_subtitle_size, $*font_journal_subtitle_units); -var string module_text_font = generate_font_css($*font_module_text, $*font_fallback, $*font_module_text_size, $*font_module_text_units); -var string module_heading_font = generate_font_css($*font_module_heading, $*font_fallback, $*font_module_heading_size, $*font_module_heading_units); +var string module_text_font = generate_font_css($*font_module_text, $*font_base, $*font_fallback, $*font_module_text_size, $*font_module_text_units); +var string module_heading_font = generate_font_css($*font_module_heading, $*font_base, $*font_fallback, $*font_module_heading_size, $*font_module_heading_units); -var string entry_title_font = generate_font_css($*font_entry_title, $*font_fallback, $*font_entry_title_size, $*font_entry_title_units); +var string entry_title_font = generate_font_css($*font_entry_title, $*font_base, $*font_fallback, $*font_entry_title_size, $*font_entry_title_units); var string page_background = generate_background_css ($*image_background_page_url, $*image_background_page_repeat, $*image_background_page_position, $*color_page_background); diff -r af8a089f4abd -r 9d6bd9196dac bin/upgrading/s2layers/blanket/layout.s2 --- a/bin/upgrading/s2layers/blanket/layout.s2 Fri Oct 22 23:12:04 2010 +0800 +++ b/bin/upgrading/s2layers/blanket/layout.s2 Fri Oct 22 23:18:04 2010 +0800 @@ -254,12 +254,12 @@ var string active_month_colors = generat var string active_month_colors = generate_color_css( $*color_page_link_hover->darker(), new Color, new Color ); var string month_header_colors = generate_color_css( $*color_entry_border->darker(130), $*color_entry_border, new Color ); - var string page_font = generate_font_css($*font_base, $*font_fallback, $*font_base_size, $*font_base_units); - var string page_title_font = generate_font_css($*font_journal_title, $*font_fallback, $*font_journal_title_size, $*font_journal_title_units); - var string page_subtitle_font = generate_font_css($*font_journal_subtitle, $*font_fallback, $*font_journal_subtitle_size, $*font_journal_subtitle_units); - var string entry_title_font = generate_font_css($*font_entry_title, $*font_fallback, $*font_entry_title_size, $*font_entry_title_units); - var string module_font = generate_font_css($*font_module_text, $*font_fallback, $*font_module_text_size, $*font_module_text_units); - var string module_title_font = generate_font_css($*font_module_heading, $*font_fallback, $*font_module_heading_size, $*font_module_heading_units); + var string page_font = generate_font_css("", $*font_base, $*font_fallback, $*font_base_size, $*font_base_units); + var string page_title_font = generate_font_css($*font_journal_title, $*font_base, $*font_fallback, $*font_journal_title_size, $*font_journal_title_units); + var string page_subtitle_font = generate_font_css($*font_journal_subtitle, $*font_base, $*font_fallback, $*font_journal_subtitle_size, $*font_journal_subtitle_units); + var string entry_title_font = generate_font_css($*font_entry_title, $*font_base, $*font_fallback, $*font_entry_title_size, $*font_entry_title_units); + var string module_font = generate_font_css($*font_module_text, $*font_base, $*font_fallback, $*font_module_text_size, $*font_module_text_units); + var string module_title_font = generate_font_css($*font_module_heading, $*font_base, $*font_fallback, $*font_module_heading_size, $*font_module_heading_units); var string userpic_css = ""; if ($*userpics_position == "left") { diff -r af8a089f4abd -r 9d6bd9196dac bin/upgrading/s2layers/brittle/layout.s2 --- a/bin/upgrading/s2layers/brittle/layout.s2 Fri Oct 22 23:12:04 2010 +0800 +++ b/bin/upgrading/s2layers/brittle/layout.s2 Fri Oct 22 23:18:04 2010 +0800 @@ -293,14 +293,14 @@ function Page::print_default_stylesheet( var string page_background = generate_background_css ($*image_background_page_url, $*image_background_page_repeat, $*image_background_page_position, $*color_page_background); var string entry_background = generate_background_css ($*image_background_entry_url, $*image_background_entry_repeat, $*image_background_entry_position, $*color_entry_background); - var string page_font = generate_font_css($*font_base, $*font_fallback, $*font_base_size, $*font_base_units); - var string entry_font = generate_font_css($*font_entry_text, $*font_fallback, $*font_entry_text_size, $*font_entry_text_units); - var string entry_title_font = generate_font_css($*font_entry_title, $*font_fallback, $*font_entry_title_size, $*font_entry_title_units); - var string module_title_font = generate_font_css($*font_module_heading, $*font_fallback, $*font_module_heading_size, $*font_module_heading_units); - var string navigation_module_font = generate_font_css($*font_navigation_module_text, $*font_fallback, $*font_navigation_module_text_size, $*font_navigation_module_text_units); - var string other_module_font = generate_font_css($*font_other_module_text, $*font_fallback, $*font_other_module_text_size, $*font_other_module_text_units); - var string date_time_font = generate_font_css($*font_date_time, $*font_fallback, $*font_date_time_size, $*font_date_time_units); - var string input_textarea_font = generate_font_css($*font_date_time, $*font_fallback, "", ""); + var string page_font = generate_font_css("", $*font_base, $*font_fallback, $*font_base_size, $*font_base_units); + var string entry_font = generate_font_css($*font_entry_text, $*font_base, $*font_fallback, $*font_entry_text_size, $*font_entry_text_units); + var string entry_title_font = generate_font_css($*font_entry_title, $*font_base, $*font_fallback, $*font_entry_title_size, $*font_entry_title_units); + var string module_title_font = generate_font_css($*font_module_heading, $*font_base, $*font_fallback, $*font_module_heading_size, $*font_module_heading_units); + var string navigation_module_font = generate_font_css($*font_navigation_module_text, $*font_base, $*font_fallback, $*font_navigation_module_text_size, $*font_navigation_module_text_units); + var string other_module_font = generate_font_css($*font_other_module_text, $*font_base, $*font_fallback, $*font_other_module_text_size, $*font_other_module_text_units); + var string date_time_font = generate_font_css($*font_date_time, $*font_base, $*font_fallback, $*font_date_time_size, $*font_date_time_units); + var string input_textarea_font = generate_font_css($*font_date_time, $*font_base, $*font_fallback, "", ""); var Color bottom_border = $*color_entry_text -> lighter(90); var Color solid_border = $*color_entry_background -> darker(25); diff -r af8a089f4abd -r 9d6bd9196dac bin/upgrading/s2layers/core2.s2 --- a/bin/upgrading/s2layers/core2.s2 Fri Oct 22 23:12:04 2010 +0800 +++ b/bin/upgrading/s2layers/core2.s2 Fri Oct 22 23:18:04 2010 +0800 @@ -3299,21 +3299,40 @@ function generate_color_css (Color text_ return $color_css; } -function generate_font_css(string font_base, string font_fallback, string font_size, string font_unit) : string +function generate_font_css(string font_specific, string font_base, string font_fallback, string font_size, string font_unit) : string { var string font_css = ""; - if ($font_base != "" or $font_fallback != "") { + + + if ($font_specific != "" or $font_base != "" or $font_fallback != "") { $font_css = "font-family: "; - if ($font_base != "") { - $font_css = $font_css + "$font_base"; + + if ($font_specific != "") { + $font_css = $font_css + "$font_specific"; + if ($font_base != "") { + $font_css = $font_css + ", $font_base"; + } + if ($font_fallback != "") { $font_css = $font_css + ", $font_fallback"; } - } else { - $font_css = $font_css + "$font_fallback"; - } + + } elseif ($font_specific == "" and ($font_base != "" or $font_fallback != "")) { + if ($font_base != "") { + $font_css = $font_css + "$font_base"; + + if ($font_fallback != "") { + $font_css = $font_css + ", $font_fallback"; + } + } else { + $font_css = $font_css + "$font_fallback"; + } + } + $font_css = $font_css + "; "; } + + if ($font_size != "" and $font_unit != "") { $font_css = $font_css + "font-size: $font_size$font_unit;"; } diff -r af8a089f4abd -r 9d6bd9196dac bin/upgrading/s2layers/core2base/layout.s2 --- a/bin/upgrading/s2layers/core2base/layout.s2 Fri Oct 22 23:12:04 2010 +0800 +++ b/bin/upgrading/s2layers/core2base/layout.s2 Fri Oct 22 23:18:04 2010 +0800 @@ -306,12 +306,12 @@ function Page::print_default_stylesheet( var string module_link_hover_colors = generate_color_css($*color_module_link_hover, new Color, new Color); var string module_link_visited_colors = generate_color_css($*color_module_link_visited, new Color, new Color); - var string page_font = generate_font_css($*font_base, $*font_fallback, $*font_base_size, $*font_base_units); - var string page_title_font = generate_font_css($*font_journal_title, $*font_fallback, $*font_journal_title_size, $*font_journal_title_units); - var string page_subtitle_font = generate_font_css($*font_journal_subtitle, $*font_fallback, $*font_journal_subtitle_size, $*font_journal_subtitle_units); - var string entry_title_font = generate_font_css($*font_entry_title, $*font_fallback, $*font_entry_title_size, $*font_entry_title_units); - var string module_font = generate_font_css($*font_module_text, $*font_fallback, $*font_module_text_size, $*font_module_text_units); - var string module_title_font = generate_font_css($*font_module_heading, $*font_fallback, $*font_module_heading_size, $*font_module_heading_units); + var string page_font = generate_font_css("", $*font_base, $*font_fallback, $*font_base_size, $*font_base_units); + var string page_title_font = generate_font_css($*font_journal_title, $*font_base, $*font_fallback, $*font_journal_title_size, $*font_journal_title_units); + var string page_subtitle_font = generate_font_css($*font_journal_subtitle, $*font_base, $*font_fallback, $*font_journal_subtitle_size, $*font_journal_subtitle_units); + var string entry_title_font = generate_font_css($*font_entry_title, $*font_base, $*font_fallback, $*font_entry_title_size, $*font_entry_title_units); + var string module_font = generate_font_css($*font_module_text, $*font_base, $*font_fallback, $*font_module_text_size, $*font_module_text_units); + var string module_title_font = generate_font_css($*font_module_heading, $*font_base, $*font_fallback, $*font_module_heading_size, $*font_module_heading_units); var string userpic_css = ""; if ($*userpics_position == "right") { diff -r af8a089f4abd -r 9d6bd9196dac bin/upgrading/s2layers/drifting/layout.s2 --- a/bin/upgrading/s2layers/drifting/layout.s2 Fri Oct 22 23:12:04 2010 +0800 +++ b/bin/upgrading/s2layers/drifting/layout.s2 Fri Oct 22 23:18:04 2010 +0800 @@ -273,12 +273,12 @@ function Page::print_default_stylesheet( var string title_font_string = ""; # Determine the font strings to use in the CSS - var string page_font = generate_font_css($*font_base, $*font_fallback, $*font_base_size, $*font_base_units); - var string page_title_font = generate_font_css($*font_journal_title, $*font_title_fallback, $*font_journal_title_size, $*font_journal_title_units); - var string page_subtitle_font = generate_font_css($*font_journal_subtitle, $*font_title_fallback, $*font_journal_subtitle_size, $*font_journal_subtitle_units); - var string entry_title_font = generate_font_css($*font_entry_title, $*font_fallback, $*font_entry_title_size, $*font_entry_title_units); - var string module_font = generate_font_css($*font_module_text, $*font_fallback, $*font_module_text_size, $*font_module_text_units); - var string module_title_font = generate_font_css($*font_module_heading, $*font_fallback, $*font_module_heading_size, $*font_module_heading_units); + var string page_font = generate_font_css("", $*font_base, $*font_fallback, $*font_base_size, $*font_base_units); + var string page_title_font = generate_font_css($*font_journal_title, $*font_base, $*font_title_fallback, $*font_journal_title_size, $*font_journal_title_units); + var string page_subtitle_font = generate_font_css($*font_journal_subtitle, $*font_base, $*font_title_fallback, $*font_journal_subtitle_size, $*font_journal_subtitle_units); + var string entry_title_font = generate_font_css($*font_entry_title, $*font_base, $*font_fallback, $*font_entry_title_size, $*font_entry_title_units); + var string module_font = generate_font_css($*font_module_text, $*font_base, $*font_fallback, $*font_module_text_size, $*font_module_text_units); + var string module_title_font = generate_font_css($*font_module_heading, $*font_base, $*font_fallback, $*font_module_heading_size, $*font_module_heading_units); var string userpic_css = ""; if ($*userpics_position == "left") { diff -r af8a089f4abd -r 9d6bd9196dac bin/upgrading/s2layers/easyread/layout.s2 --- a/bin/upgrading/s2layers/easyread/layout.s2 Fri Oct 22 23:12:04 2010 +0800 +++ b/bin/upgrading/s2layers/easyread/layout.s2 Fri Oct 22 23:18:04 2010 +0800 @@ -310,12 +310,12 @@ function Page::print_default_stylesheet var string page_link_hover_colors = generate_color_css($*color_page_link_hover, new Color, new Color); var string page_link_visited_colors = generate_color_css($*color_page_link_visited, new Color, new Color); - var string page_font = generate_font_css($*font_base, $*font_fallback, $*font_base_size, $*font_base_units); - var string page_title_font = generate_font_css($*font_journal_title, $*font_fallback, $*font_journal_title_size, $*font_journal_title_units); - var string page_subtitle_font = generate_font_css($*font_journal_subtitle, $*font_fallback, $*font_journal_subtitle_size, $*font_journal_subtitle_units); - var string entry_title_font = generate_font_css($*font_entry_title, $*font_fallback, $*font_entry_title_size, $*font_entry_title_units); - var string module_font = generate_font_css($*font_module_text, $*font_fallback, $*font_module_text_size, $*font_module_text_units); - var string module_title_font = generate_font_css($*font_module_heading, $*font_fallback, $*font_module_heading_size, $*font_module_heading_units); + var string page_font = generate_font_css("", $*font_base, $*font_fallback, $*font_base_size, $*font_base_units); + var string page_title_font = generate_font_css($*font_journal_title, $*font_base, $*font_fallback, $*font_journal_title_size, $*font_journal_title_units); + var string page_subtitle_font = generate_font_css($*font_journal_subtitle, $*font_base, $*font_fallback, $*font_journal_subtitle_size, $*font_journal_subtitle_units); + var string entry_title_font = generate_font_css($*font_entry_title, $*font_base, $*font_fallback, $*font_entry_title_size, $*font_entry_title_units); + var string module_font = generate_font_css($*font_module_text, $*font_base, $*font_fallback, $*font_module_text_size, $*font_module_text_units); + var string module_title_font = generate_font_css($*font_module_heading, $*font_base, $*font_fallback, $*font_module_heading_size, $*font_module_heading_units); var string userpic_css = ""; if ($*userpics_position == "left") { diff -r af8a089f4abd -r 9d6bd9196dac bin/upgrading/s2layers/funkycircles/layout.s2 --- a/bin/upgrading/s2layers/funkycircles/layout.s2 Fri Oct 22 23:12:04 2010 +0800 +++ b/bin/upgrading/s2layers/funkycircles/layout.s2 Fri Oct 22 23:18:04 2010 +0800 @@ -120,7 +120,7 @@ function print_stylesheet () { var string image_module_list_hover_url = generate_image_url($*image_module_list_hover); var string entry_colors = generate_color_css($*color_entry_text, $*color_entry_background, $*color_entry_border); var string entry_title_colors = generate_color_css($*color_entry_title, $*color_entry_title_background, new Color); - var string entry_title_font = generate_font_css($*font_entry_title, $*font_fallback, $*font_entry_title_size, $*font_entry_title_units); + var string entry_title_font = generate_font_css($*font_entry_title, $*font_base, $*font_fallback, $*font_entry_title_size, $*font_entry_title_units); var string entry_link_colors = generate_color_css($*color_entry_link, new Color, new Color); var string entry_link_hover_colors = generate_color_css($*color_entry_link_hover, $*color_entry_link_hover_background, new Color); var string entry_link_visited_colors = generate_color_css($*color_entry_link_visited, new Color, new Color); diff -r af8a089f4abd -r 9d6bd9196dac bin/upgrading/s2layers/negatives/layout.s2 --- a/bin/upgrading/s2layers/negatives/layout.s2 Fri Oct 22 23:12:04 2010 +0800 +++ b/bin/upgrading/s2layers/negatives/layout.s2 Fri Oct 22 23:18:04 2010 +0800 @@ -297,10 +297,10 @@ function Page::print_default_stylesheet( if ($*image_background_header_height > 0) { $header_background = $header_background + "\n height: " + $*image_background_header_height + "px;"; } - var string page_font = generate_font_css($*font_base, $*font_fallback, $*font_base_size, $*font_base_units); - var string entry_title_font = generate_font_css($*font_entry_title, $*font_fallback, $*font_entry_title_size, $*font_entry_title_units); - var string module_font = generate_font_css($*font_module_text, $*font_fallback, $*font_module_text_size, $*font_module_text_units); - var string module_title_font = generate_font_css($*font_module_heading, $*font_fallback, $*font_module_heading_size, $*font_module_heading_units); + var string page_font = generate_font_css("", $*font_base, $*font_fallback, $*font_base_size, $*font_base_units); + var string entry_title_font = generate_font_css($*font_entry_title, $*font_base, $*font_fallback, $*font_entry_title_size, $*font_entry_title_units); + var string module_font = generate_font_css($*font_module_text, $*font_base, $*font_fallback, $*font_module_text_size, $*font_module_text_units); + var string module_title_font = generate_font_css($*font_module_heading, $*font_base, $*font_fallback, $*font_module_heading_size, $*font_module_heading_units); var string userpic_css = ""; if ($*userpics_position == "left") { diff -r af8a089f4abd -r 9d6bd9196dac bin/upgrading/s2layers/practicality/layout.s2 --- a/bin/upgrading/s2layers/practicality/layout.s2 Fri Oct 22 23:12:04 2010 +0800 +++ b/bin/upgrading/s2layers/practicality/layout.s2 Fri Oct 22 23:18:04 2010 +0800 @@ -120,7 +120,7 @@ function Page::print() { function print_stylesheet () { - var string page_subtitle_font = generate_font_css($*font_journal_subtitle, $*font_fallback, $*font_journal_subtitle_size, $*font_journal_subtitle_units); + var string page_subtitle_font = generate_font_css($*font_journal_subtitle, $*font_base, $*font_fallback, $*font_journal_subtitle_size, $*font_journal_subtitle_units); var string userpic_css = ""; diff -r af8a089f4abd -r 9d6bd9196dac bin/upgrading/s2layers/refriedtablet/layout.s2 --- a/bin/upgrading/s2layers/refriedtablet/layout.s2 Fri Oct 22 23:12:04 2010 +0800 +++ b/bin/upgrading/s2layers/refriedtablet/layout.s2 Fri Oct 22 23:18:04 2010 +0800 @@ -72,9 +72,9 @@ set font_module_text_units = "em"; function print_stylesheet () { - var string view_text_font = generate_font_css($*font_view_text, $*font_fallback, $*font_view_text_size, $*font_view_text_units); + var string view_text_font = generate_font_css($*font_view_text, $*font_base, $*font_fallback, $*font_view_text_size, $*font_view_text_units); var string entry_title_colors = generate_color_css($*color_entry_title, $*color_entry_title_background, new Color); - var string entry_title_font = generate_font_css($*font_entry_title, $*font_fallback, $*font_entry_title_size, $*font_entry_title_units); + var string entry_title_font = generate_font_css($*font_entry_title, $*font_base, $*font_fallback, $*font_entry_title_size, $*font_entry_title_units); var string page_background = generate_background_css ($*image_background_page_url, $*image_background_page_repeat, $*image_background_page_position, $*color_page_background); var string module_background = generate_background_css ($*image_background_module_url, $*image_background_module_repeat, $*image_background_module_position, $*color_module_background); diff -r af8a089f4abd -r 9d6bd9196dac bin/upgrading/s2layers/skittlishdreams/layout.s2 --- a/bin/upgrading/s2layers/skittlishdreams/layout.s2 Fri Oct 22 23:12:04 2010 +0800 +++ b/bin/upgrading/s2layers/skittlishdreams/layout.s2 Fri Oct 22 23:18:04 2010 +0800 @@ -384,11 +384,11 @@ function Page::print_default_stylesheet var string image_base = $path_components[size($path_components)-1]; var string theme_base_color = $image_base->substr(0, $image_base->index("_")); - var string page_font = generate_font_css( $*font_base, $*font_fallback, $*font_base_size, $*font_base_units ); - var string journal_title_font = generate_font_css("", "", $*font_journal_title_size, $*font_journal_title_units); - var string entry_title_font = generate_font_css($*font_entry_title, $*font_fallback, $*font_entry_title_size, $*font_entry_title_units); - var string module_font = generate_font_css($*font_module_text, $*font_fallback, $*font_module_text_size, $*font_module_text_units); - var string module_title_font = generate_font_css("", "", $*font_module_heading_size, $*font_module_heading_units); + var string page_font = generate_font_css("", $*font_base, $*font_fallback, $*font_base_size, $*font_base_units ); + var string journal_title_font = generate_font_css("", "", "", $*font_journal_title_size, $*font_journal_title_units); + var string entry_title_font = generate_font_css($*font_entry_title, $*font_base, $*font_fallback, $*font_entry_title_size, $*font_entry_title_units); + var string module_font = generate_font_css($*font_module_text, $*font_base, $*font_fallback, $*font_module_text_size, $*font_module_text_units); + var string module_title_font = generate_font_css("", "", "", $*font_module_heading_size, $*font_module_heading_units); var string page_background = generate_background_css( $*image_background_page_url, $*image_background_page_repeat, $*image_background_page_position, $*color_page_background ); --------------------------------------------------------------------------------