aboutsummaryrefslogtreecommitdiffstats
path: root/data/generate-font-schemas.py
diff options
context:
space:
mode:
authorChristian Persch <chpe@cvs.gnome.org>2005-11-13 00:32:03 +0800
committerChristian Persch <chpe@src.gnome.org>2005-11-13 00:32:03 +0800
commitd0b96ec1c87ce1d5971a4cea9073c68843214a71 (patch)
tree388f601e382c63b4f51f7615a2d84acfb82effc5 /data/generate-font-schemas.py
parentcba54efb932a4bf8402ff3f9f17904dcb3c496f2 (diff)
downloadgsoc2013-epiphany-d0b96ec1c87ce1d5971a4cea9073c68843214a71.tar.gz
gsoc2013-epiphany-d0b96ec1c87ce1d5971a4cea9073c68843214a71.tar.zst
gsoc2013-epiphany-d0b96ec1c87ce1d5971a4cea9073c68843214a71.zip
Add schema entries for the fonts keys.
2005-11-12 Christian Persch <chpe@cvs.gnome.org> * data/Makefile.am: * data/default-prefs-common.js: * data/generate-font-schemas.py: * data/epiphany-fonts.schemas: Add schema entries for the fonts keys.
Diffstat (limited to 'data/generate-font-schemas.py')
-rwxr-xr-xdata/generate-font-schemas.py112
1 files changed, 112 insertions, 0 deletions
diff --git a/data/generate-font-schemas.py b/data/generate-font-schemas.py
new file mode 100755
index 000000000..fc7717f8a
--- /dev/null
+++ b/data/generate-font-schemas.py
@@ -0,0 +1,112 @@
+#!/usr/bin/env python
+# -*- coding: UTF-8 -*-
+#
+# Copyright (C) 2005 Christian Persch
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# $Id$
+
+import sys, codecs
+from xml import dom;
+
+sys.stdout = codecs.getwriter("utf-8")(sys.__stdout__)
+
+def appendTextNode(doc, schemaNode, tag, text):
+ node = doc.createElement(tag)
+ schemaNode.appendChild(node)
+ textNode = doc.createTextNode(text)
+ node.appendChild(textNode)
+
+
+def appendLocaleNode(doc, schemaNode, localeName, shortSchemaText):
+ localeNode = doc.createElement("locale")
+ localeNode.setAttribute("name", localeName)
+ schemaNode.appendChild(localeNode)
+
+ appendTextNode(doc, localeNode, "short", shortSchemaText)
+ appendTextNode(doc, localeNode, "long", shortSchemaText)
+
+
+def append_schema(doc, schemalistNode, key, datatype, default, description, schemaText):
+ schemaNode = doc.createElement("schema")
+ schemalistNode.appendChild(schemaNode)
+ appendTextNode (doc, schemaNode, "key", "/schemas" + key)
+ appendTextNode (doc, schemaNode, "applyto", key)
+ appendTextNode (doc, schemaNode, "owner", "epiphany")
+ appendTextNode (doc, schemaNode, "type", datatype)
+ appendTextNode (doc, schemaNode, "default", default)
+ appendLocaleNode (doc, schemaNode, "C", schemaText)
+
+
+def append_schemas(docNode, schemalistNode, group):
+ base = "/apps/epiphany/web/"
+ append_schema(doc, schemalistNode, base + "fixed_font_size_" + group,
+ "int", "10", "Monospace font size",
+ "Monospaced font size for \"" + group + "\"")
+ append_schema(doc, schemalistNode, base + "font_monospace_" + group,
+ "string", "monospace", "Monospace font",
+ "Monospaced font for \"" + group + "\"")
+ append_schema(doc, schemalistNode, base + "variable_font_size_" + group,
+ "int", "11", "Proportional font size",
+ "Variable width font size for \"" + group + "\"")
+ append_schema(doc, schemalistNode, base + "font_variable_" + group,
+ "string", "sans-serif", "Proportional font",
+ "Variable width font for \"" + group + "\"")
+ append_schema(doc, schemalistNode, base + "minimum_font_size_" + group,
+ "int", "7", "Minimum font size",
+ "Minimum font size for \"" + group + "\"")
+
+
+# keep this list in sync with lib/ephy-langs.c
+font_languages = [
+ "ar",
+ "el",
+ "he",
+ "ja",
+ "ko",
+ "th",
+ "tr",
+ "x-armn",
+ "x-baltic",
+ "x-beng",
+ "x-cans",
+ "x-central-euro",
+ "x-cyrillic",
+ "x-devanagari",
+ "x-ethi",
+ "x-geor",
+ "x-gujr",
+ "x-guru",
+ "x-khmr",
+ "x-mlym",
+ "x-tamil",
+ "x-unicode",
+ "x-western",
+ "zh-CN",
+ "zh-HK",
+ "zh-TW" ]
+
+doc = dom.getDOMImplementation().createDocument(None, "gconfschemafile", None)
+
+schemalistNode = doc.createElement("schemalist")
+doc.documentElement.appendChild(schemalistNode)
+
+for lang in font_languages:
+ append_schemas(doc, schemalistNode, lang)
+
+doc.writexml(sys.stdout)
+
+# Remember to pass the output through "xmllint --format"