afuna: Cat under a blanket. Text: "Cats are just little people with Fur and Fangs" (Default)
afuna ([personal profile] afuna) wrote in [site community profile] changelog2009-08-10 03:36 pm

[dw-free] Font properties in the wizard

[commit: http://hg.dwscoalition.org/dw-free/rev/bb1a861e7b6b]

http://bugs.dwscoalition.org/show_bug.cgi?id=1283

Font properties and fallbacks for Tabula Rasa, Drifting, Negatives.

Patch by [personal profile] av8rmike.

Files modified:
  • bin/upgrading/s2layers/core2.s2
  • bin/upgrading/s2layers/core2base/layout.s2
  • bin/upgrading/s2layers/drifting/layout.s2
  • bin/upgrading/s2layers/negatives/layout.s2
  • cgi-bin/LJ/S2Theme.pm
--------------------------------------------------------------------------------
diff -r c2649312b8ae -r bb1a861e7b6b bin/upgrading/s2layers/core2.s2
--- a/bin/upgrading/s2layers/core2.s2	Mon Aug 10 01:18:58 2009 -0500
+++ b/bin/upgrading/s2layers/core2.s2	Mon Aug 10 15:34:51 2009 +0000
@@ -1429,43 +1429,115 @@ set layout_resources = [];
 ## Journal style - fonts
 ##===============================
 
-# FIXME: also need size and units
 property string font_base {
     des = "Preferred journal font";
     maxlength = 25;
-    "size" = 10;
-    example = "Arial";
-    note = "Leave blank if you don't care.";
+    size = 15;
+    note = "For example: Arial or \"Times New Roman\". Leave blank if you don't care.";
 }
 set font_base = "";   # In core, default is not to care. Layouts will probably specify fonts the author likes instead.
 
 property string font_fallback {
     des = "Alternative journal font";
-    values = "sans-serif|Sans-serif|serif|Serif|cursive|Cursive|monospace|Monospaced|none|Use browser's default";
+    values = "sans-serif|Sans-serif|serif|Serif|cursive|Cursive|monospace|Monospaced||Use browser's default";
     note = "This general style will serve as a fallback if your preferred font is unavailable.";
 }
-set font_fallback = "none"; # Default in core is to let the browser handle it.
+set font_fallback = ""; # Default in core is to let the browser handle it.
+
+property string font_base_size {
+    des = "Size of base font";
+    size = 3;
+}
+
+property string font_base_units {
+    des = "Units for base font size";
+    values = "em|em|ex|ex|%|%|pt|pt|px|px";
+}
 
 property string font_journal_title {
-    des = "Journal titles";
-    values = "|(default journal font)|sans-serif|Sans-serif|serif|Serif|cursive|Cursive|monospace|Monospaced|none|Use browser's default";
+    des = "Preferred font for journal titles";
+    maxlength = 25;
+    size = 15;
+    note = "For example: Arial or \"Times New Roman\". Leave blank if you don't care.";
+}
+
+property string font_journal_title_size {
+    des = "Size of title font";
+    size = 3;
+}
+
+property string font_journal_title_units {
+    des = "Units for title size";
+    values = "em|em|ex|ex|%|%|pt|pt|px|px";
+}
+
+property string font_journal_subtitle {
+    des = "Preferred font for journal subtitles";
+    maxlength = 25;
+    size = 15;
+    note = "For example: Arial or \"Times New Roman\". Leave blank if you don't care.";
+}
+
+property string font_journal_subtitle_size {
+    des = "Size of subtitle font";
+    size = 3;
+}
+
+property string font_journal_subtitle_units {
+    des = "Units for subtitle size";
+    values = "em|em|ex|ex|%|%|pt|pt|px|px";
 }
 
 property string font_entry_title {
-    des = "Entry titles";
-    values = "|(default journal font)|sans-serif|Sans-serif|serif|Serif|cursive|Cursive|monospace|Monospaced|none|Use browser's default";
+    des = "Preferred font for entry titles";
+    maxlength = 25;
+    size = 15;
+    note = "For example: Arial or \"Times New Roman\". Leave blank if you don't care.";
+}
+
+property string font_entry_title_size {
+    des = "Size of entry title font";
+    size = 3;
+}
+
+property string font_entry_title_units {
+    des = "Units for entry title size";
+    values = "em|em|ex|ex|%|%|pt|pt|px|px";
 }
 
 property string font_module_heading {
-    des = "Module headings";
-    values = "|(default journal font)|sans-serif|Sans-serif|serif|Serif|cursive|Cursive|monospace|Monospaced|none|Use browser's default";
+    des = "Preferred font for module headings";
+    maxlength = 25;
+    size = 15;
+    note = "For example: Arial or \"Times New Roman\". Leave blank if you don't care.";
+}
+
+property string font_module_heading_size {
+    des = "Size of module heading font";
+    size = 3;
+}
+
+property string font_module_heading_units {
+    des = "Units for module heading size";
+    values = "em|em|ex|ex|%|%|pt|pt|px|px";
 }
 
 property string font_module_text {
-    des = "Module text";
-    values = "|(default journal font)|sans-serif|Sans-serif|serif|Serif|cursive|Cursive|monospace|Monospaced|none|Use browser's default";    
-}
-
+    des = "Preferred font for module text";
+    maxlength = 25;
+    size = 15;
+    note = "For example: Arial or \"Times New Roman\". Leave blank if you don't care.";
+}
+
+property string font_module_text_size {
+    des = "Size of module text font";
+    size = 3;
+}
+
+property string font_module_text_units {
+    des = "Units for module text size";
+    values = "em|em|ex|ex|%|%|pt|pt|px|px";
+}
 
 ##===============================
 ## Journal style - images
@@ -2885,6 +2957,27 @@ function generate_color_css (Color text_
         $color_css = $color_css + "border: solid 1px $border_color;\n";
     }
     return $color_css;
+}
+
+function generate_font_css(string font_base, string font_fallback, string font_size, string font_unit) : string
+{
+    var string font_css = "";
+    if ($font_base != "" or $font_fallback != "") {
+        $font_css = "font-family: ";
+        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;";
+    }
+    return $font_css;
 }
 
 function Page::print_title() 
diff -r c2649312b8ae -r bb1a861e7b6b bin/upgrading/s2layers/core2base/layout.s2
--- a/bin/upgrading/s2layers/core2base/layout.s2	Mon Aug 10 01:18:58 2009 -0500
+++ b/bin/upgrading/s2layers/core2base/layout.s2	Mon Aug 10 15:34:51 2009 +0000
@@ -130,6 +130,37 @@ set color_module_title = "";
 set color_module_title = "";
 set color_module_title_background = "";
 set color_module_border = "";
+
+##===============================
+## Display settings - fonts
+##===============================
+
+propgroup fonts {
+    property use font_base;
+    property use font_fallback;
+    property use font_base_size;
+    property use font_base_units;
+    property use font_journal_title;
+    property use font_journal_title_size;
+    property use font_journal_title_units;
+    property use font_journal_subtitle;
+    property use font_journal_subtitle_size;
+    property use font_journal_subtitle_units;
+    property use font_entry_title;
+    property use font_entry_title_size;
+    property use font_entry_title_units;
+    property use font_module_heading;
+    property use font_module_heading_units;
+    property use font_module_heading_size;
+    property use font_module_text;
+    property use font_module_text_units;
+    property use font_module_text_size;
+}
+
+set font_base = "";
+set font_fallback = "";
+set font_base_size = "100";
+set font_base_units = "%";
 
 ##===============================
 ## Display settings - images
@@ -262,7 +293,13 @@ 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);
+
     """<style type="text/css">""";
     start_css();
     """
@@ -286,8 +323,7 @@ hr {
 }
 
 body {
-	font-family: ;
-	font-size: 100%;
+    $page_font
 	padding: 0;
     $page_background
     $page_colors
@@ -323,6 +359,14 @@ a:visited { $page_link_visited_colors }
 #header {
     $header_background
     $page_title_colors
+}
+
+h1#title {
+    $page_title_font
+}
+
+h2#subtitle {
+    $page_subtitle_font
 }
 
 #footer {
@@ -425,6 +469,7 @@ a:visited { $page_link_visited_colors }
 
 .entry .entry-title, .entry .entry-title a {
     $entry_title_colors
+    $entry_title_font
 }
 
 .entry a { $entry_link_colors }
@@ -559,6 +604,11 @@ table.month td p {
 
 .module h2 {
     $module_title_colors
+    $module_title_font
+}
+
+.module-content {
+    $module_font
 }
 
 .module-content ul { 
diff -r c2649312b8ae -r bb1a861e7b6b bin/upgrading/s2layers/drifting/layout.s2
--- a/bin/upgrading/s2layers/drifting/layout.s2	Mon Aug 10 01:18:58 2009 -0500
+++ b/bin/upgrading/s2layers/drifting/layout.s2	Mon Aug 10 15:34:51 2009 +0000
@@ -119,13 +119,13 @@ propgroup fonts
 {
     property use font_base;
     property use font_fallback;
+    property use font_base_size;
+    property use font_base_units;
+    property use font_journal_title;
+    property use font_journal_title_size;
+    property use font_journal_title_units;
 
-    property string title_font_base
-    {
-        des = "Font for Subjects and Title";
-    }
-
-    property string title_font_fallback
+    property string font_title_fallback
     {
         des    = "Alternative font for Subjects and Title";
         values = "sans-serif|Sans-serif|serif|Serif|cursive|Cursive|monospace|Monospaced|none|Use browser's default";
@@ -134,8 +134,12 @@ propgroup fonts
 
 set font_base         = "Arial";
 set font_fallback     = "sans-serif";
-set title_font_base     = "Times New Roman";
-set title_font_fallback = "serif";
+set font_base_size  = "16";
+set font_base_units = "px";
+set font_journal_title  = "Times New Roman";
+set font_title_fallback = "serif";
+set font_journal_title_size  = "2.8";
+set font_journal_title_units = "em";
 
 # PRESENTATION
 ################################################################################
@@ -256,22 +260,9 @@ function Page::print_default_stylesheet(
     var string title_font_string  = "";
 
     # Determine the font strings to use in the CSS
-    if ($*font_base != "")
-    {
-        $base_font_string = "\"$*font_base\",";
-    }
-    if ($*font_fallback != "")
-    {
-        $base_font_string = "$base_font_string $*font_fallback";
-    }
-    if ($*title_font_base != "")
-    {
-        $title_font_string = "\"$*title_font_base\",";
-    }
-    if ($*title_font_fallback  != "")
-    {
-        $title_font_string = "$title_font_string $*title_font_fallback";
-    }
+    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_title, $*font_title_fallback, "", "");
 
     """<style type="text/css">""";
     start_css();
@@ -279,8 +270,7 @@ function Page::print_default_stylesheet(
     /* Main layout
     ***************************************************************************/
     body {
-        font-family: $base_font_string;
-        font-size: 16px;
+        $page_font
         color: $*color_page_text;
         $page_background
     }
@@ -380,8 +370,7 @@ function Page::print_default_stylesheet(
     }
 
     #header h1#title {
-        font-family:  $title_font_string;
-        font-size: 2.8em;
+        $page_title_font
         font-weight: bold;
         font-style: italic;
         color: $*color_page_title;
@@ -391,7 +380,7 @@ function Page::print_default_stylesheet(
     }
 
     #header h2#subtitle {
-        font-family:  $title_font_string;
+        $page_subtitle_font
         margin: 5px 0px 0px 335px;
         color: $*color_page_subtitle;
         width: 100%;
diff -r c2649312b8ae -r bb1a861e7b6b bin/upgrading/s2layers/negatives/layout.s2
--- a/bin/upgrading/s2layers/negatives/layout.s2	Mon Aug 10 01:18:58 2009 -0500
+++ b/bin/upgrading/s2layers/negatives/layout.s2	Mon Aug 10 15:34:51 2009 +0000
@@ -72,6 +72,34 @@ set color_module_link = "#cccccc";
 set color_module_link = "#cccccc";
 set color_module_link_active = "#222222";
 set color_module_link_hover = "#ffffff";
+
+##===============================
+## Journal style - images
+##===============================
+
+propgroup fonts {
+    property use font_base;
+    property use font_fallback;
+    property use font_base_size;
+    property use font_base_units;
+    property use font_module_heading;
+    property use font_module_heading_units;
+    property use font_module_heading_size;
+    property use font_entry_title;
+    property use font_entry_title_size;
+    property use font_entry_title_units;
+}
+
+set font_base = "Georgia";
+set font_fallback = "serif";
+set font_base_size = "1";
+set font_base_units = "em";
+set font_module_heading = "";
+set font_module_heading_size = "1.1";
+set font_module_heading_units = "em";
+set font_entry_title = "";
+set font_entry_title_size = "1.1";
+set font_entry_title_units = "em";
 
 ##===============================
 ## Journal style - images
@@ -184,8 +212,6 @@ propgroup text {
     property use text_module_customtext_url;
 }
 
-set font_base ="Georgia";
-set font_fallback = "serif";
 set entry_management_links = "text";
 set comment_management_links = "text";
 
@@ -204,6 +230,9 @@ 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 module_title_font = generate_font_css($*font_module_heading, $*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);
 
     """<style type="text/css">""";
     start_css();
@@ -211,8 +240,7 @@ function Page::print_default_stylesheet(
     body {
         margin: 0;
         padding: 0;
-        font-family: $*font_base, $*font_fallback;
-        font-size: 1em;
+        $page_font
         $page_background
         color:$*color_page_text;
         }
@@ -282,7 +310,7 @@ function Page::print_default_stylesheet(
         border-bottom:1px solid $*color_module_border;
         font-weight:bold;
         letter-spacing:.3em;
-        font-size: 1.1em;
+        $module_title_font
         text-align: right;
     }
     #secondary .module-header a {
@@ -386,7 +414,7 @@ function Page::print_default_stylesheet(
     }
     .subject, .subject a, .subject a:visited, .subject a:hover, .subject a:active {
         font-weight:bold;
-        font-size:1.1em;
+        $entry_title_font
     }
     .module-section-two .module-calendar,
     .module-section-three .module-calendar {
diff -r c2649312b8ae -r bb1a861e7b6b cgi-bin/LJ/S2Theme.pm
--- a/cgi-bin/LJ/S2Theme.pm	Mon Aug 10 01:18:58 2009 -0500
+++ b/cgi-bin/LJ/S2Theme.pm	Mon Aug 10 15:34:51 2009 +0000
@@ -705,6 +705,12 @@ sub module_props {
         color_module_link_visited
         color_module_title
         color_module_title_background
+        font_module_heading
+        font_module_heading_size
+        font_module_heading_units
+        font_module_text
+        font_module_text_size
+        font_module_text_units
     )
 }
 
@@ -725,6 +731,12 @@ sub header_props {
     qw (
         text_tags_page_header
         color_header_background
+        font_journal_title
+        font_journal_title_size
+        font_journal_title_units
+        font_journal_subtitle
+        font_journal_subtitle_size
+        font_journal_subtitle_units
     )
 }
 
@@ -769,6 +781,9 @@ sub entry_props {
         color_entry_title
         color_entry_title_background
         color_entry_interaction_links
+        font_entry_title
+        font_entry_title_size
+        font_entry_title_units
     )
 }
 
@@ -806,6 +821,10 @@ sub page_props {
         color_page_link_visited
         color_page_title
         color_page_border
+        font_base
+        font_fallback
+        font_base_size
+        font_base_units
     )
 }
 
--------------------------------------------------------------------------------

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
No Subject Icon Selected
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org