diff options
| author | Andrius Ramanauskas <knutux@gmail.com> | 2006-04-20 16:06:59 +0000 |
|---|---|---|
| committer | knutux <knutux@users.sourceforge.net> | 2006-04-20 16:06:59 +0000 |
| commit | 59f47a0c4156ad31d8c685ccac2c02ac83c658c6 (patch) | |
| tree | ca2bc01c578b9b70fe4bd9e9c2a40c648f81f971 /src/document.cpp | |
| parent | disabling rendering optimization for dashed strokes (until optimization is tw... (diff) | |
| download | inkscape-59f47a0c4156ad31d8c685ccac2c02ac83c658c6.tar.gz inkscape-59f47a0c4156ad31d8c685ccac2c02ac83c658c6.zip | |
SVG 1.1 Conditional Processing Module rendering support (<switch> element, requiredReatures/requiredExtensions/systemLanguage attributes).
Two more W3C SVG Test Suite testes pass after this change.
(bzr r556)
Diffstat (limited to 'src/document.cpp')
| -rw-r--r-- | src/document.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/document.cpp b/src/document.cpp index 863266c05..ef04735ef 100644 --- a/src/document.cpp +++ b/src/document.cpp @@ -673,6 +673,35 @@ SPObject *SPDocument::getObjectByRepr(Inkscape::XML::Node *repr) { return (SPObject*)g_hash_table_lookup(priv->reprdef, repr); } +Glib::ustring SPDocument::getLanguage() { + gchar const *document_language = rdf_get_work_entity(this, rdf_find_entity("language")); + if (document_language) { + while (isspace(*document_language)) + document_language++; + } + if ( !document_language || 0 == *document_language) { + // retrieve system language + document_language = getenv("LC_ALL"); + if ( NULL == document_language || *document_language == 0 ) { + document_language = getenv ("LC_MESSAGES"); + } + if ( NULL == document_language || *document_language == 0 ) { + document_language = getenv ("LANG"); + } + + if ( NULL != document_language ) { + gchar *pos = strchr(document_language, '_'); + if ( NULL != pos ) { + return Glib::ustring(document_language, pos - document_language); + } + } + } + + if ( NULL == document_language ) + return Glib::ustring(); + return document_language; +} + /* Object modification root handler */ void |
