author | Michael Krelin <hacker@klever.net> | 2007-02-21 22:00:17 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2007-02-21 22:00:17 (UTC) |
commit | 2c0667333416d9ecc74c92475c67d0e160921ff9 (patch) (side-by-side diff) | |
tree | 7aae17a697c2ff5543a4a8349f7cd3ff0c2f9ad5 /app-text/fop-corefonts-metrics/files/config.xsl | |
parent | 367d0bf3c9eca4192a09bc5688338aa99f62d86a (diff) | |
download | misc-2c0667333416d9ecc74c92475c67d0e160921ff9.zip misc-2c0667333416d9ecc74c92475c67d0e160921ff9.tar.gz misc-2c0667333416d9ecc74c92475c67d0e160921ff9.tar.bz2 |
fop-corefonts-metrics
Diffstat (limited to 'app-text/fop-corefonts-metrics/files/config.xsl') (more/less context) (show whitespace changes)
-rw-r--r-- | app-text/fop-corefonts-metrics/files/config.xsl | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/app-text/fop-corefonts-metrics/files/config.xsl b/app-text/fop-corefonts-metrics/files/config.xsl new file mode 100644 index 0000000..0d3eae3 --- a/dev/null +++ b/app-text/fop-corefonts-metrics/files/config.xsl @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > + + <xsl:output + method="xml" version="1.0" + encoding="utf-8" + indent="yes" + omit-xml-declaration="yes" + media-type="text/xml" /> + + <xsl:param name="ttfdir"/> + <xsl:param name="xmldir"/> + <xsl:param name="destdir"/> + <xsl:param name="aliasfile"/> + + <xsl:variable name="aliases" select="document($aliasfile)"/> + + <xsl:template match="/"> + <configuration> + <fonts> + <xsl:apply-templates select="/fonts"/> + </fonts> + </configuration> + </xsl:template> + + <xsl:template match="font"> + <xsl:variable name="x" select="document(concat($xmldir,'/',@name,'.xml'))"/> + <xsl:variable name="fn" select="$x/font-metrics/font-name"/> + <xsl:comment>font-name: <xsl:value-of select="$fn"/></xsl:comment> + <font metrics-file="{$destdir}/{@name}.xml" kerning="yes" embed-file="{$ttfdir}/{@name}.ttf"> + <xsl:variable name="n"><!-- font name --> + <xsl:choose> + <xsl:when test="contains($fn,',')"> + <xsl:value-of select="substring-before($fn,',')"/> + </xsl:when> + <xsl:when test="$fn"> + <xsl:value-of select="$fn"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="@name"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:variable name="a"><!-- attributes --> + <xsl:if test="contains($fn,',')"> + <xsl:value-of select="substring-after($fn,',')"/> + </xsl:if> + </xsl:variable> + <xsl:variable name="style"> + <xsl:choose> + <xsl:when test="contains($a,'Italic')">italic</xsl:when> + <xsl:otherwise>normal</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:variable name="weight"> + <xsl:choose> + <xsl:when test="contains($a,'Bold')">bold</xsl:when> + <xsl:otherwise>normal</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:variable name="nn" select="@name"/> + <xsl:for-each select="$aliases/fonts/font[@name=$n or @name=$nn]/alias[text()!=$n and text()!=$nn]"> + <font-triplet name="{./text()}" style="{$style}" weight="{$weight}"/> + </xsl:for-each> + <font-triplet name="{$n}" style="{$style}" weight="{$weight}"/> + <font-triplet name="{@name}" style="normal" weight="normal"/> + </font> + </xsl:template> + +</xsl:stylesheet> |