diff options
-rw-r--r-- | build.xml | 18 | ||||
-rw-r--r-- | src/codegen/allprops.xml | 3 | ||||
-rw-r--r-- | src/codegen/constants.xml | 55 | ||||
-rw-r--r-- | src/codegen/constants.xsl (renamed from src/codegen/genconst.xsl) | 88 | ||||
-rw-r--r-- | src/codegen/foelements.xml | 1085 | ||||
-rw-r--r-- | src/codegen/propinc.xsl | 8 | ||||
-rw-r--r-- | src/java/org/apache/fop/fo/Constants.java | 489 |
7 files changed, 1733 insertions, 13 deletions
@@ -207,13 +207,11 @@ list of possible build targets. <property name="src.propmaker.xsl" value="${src.codegen}/propmaker.xsl"/> <property name="foproperties.xml" value="${build.codegen}/foproperties.xml"/> <property name="colorkw.xml" value="${build.codegen}/colorkw.xml"/> - <property name="allprops.xml" value="${build.codegen}/allprops.xml"/> <property name="properties.xsl" value="${build.codegen}/properties.xsl"/> <property name="propmap.xsl" value="${build.codegen}/propmap.xsl"/> <property name="enumgen.xsl" value="${build.codegen}/enumgen.xsl"/> <property name="propinc.xsl" value="${build.codegen}/propinc.xsl"/> - <property name="genconst.xsl" value="${build.codegen}/genconst.xsl"/> <property name="src.charlist.xsl" value="${src.codegen}/code-point-mapping.xsl"/> <property name="encodings.xml" value="${build.codegen}/encodings.xml"/> <property name="charlist.xsl" value="${build.codegen}/code-point-mapping.xsl"/> @@ -330,6 +328,7 @@ list of possible build targets. <mkdir dir="${build.dest}/hyph"/> </target> + <!-- =================================================================== --> <!-- Generate the source code --> <!-- =================================================================== --> @@ -353,9 +352,6 @@ list of possible build targets. <targetfilelist dir="${basedir}" files="${build.gensrc}/${replacestring}/fo/properties/fo_${ignore_this},${build.gensrc}/${replacestring}/fo/properties/FOPropertyMapping.java,${build.gensrc}/${replacestring}/fo/properties/foenums_${ignore_this}"/> </dependset> - <style in="${allprops.xml}" style="${genconst.xsl}" - out="${build.gensrc}/${replacestring}/fo/properties/Constants.java"/> - <style in="${foproperties.xml}" style="${properties.xsl}" out="${build.gensrc}/${replacestring}/fo/properties/fo_${ignore_this}"/> <style in="${foproperties.xml}" style="${propmap.xsl}" @@ -918,6 +914,17 @@ list of possible build targets. </target> <!-- =================================================================== --> + <!-- Helper task to generate source files that have already been --> + <!-- checked into CVS. For these files, CVS version is the official one --> + <!-- and may have updates that will *not* be generated by below. This --> + <!-- target should never be part of the normal build process. --> + <!-- =================================================================== --> + <target name="xsltToJava" > + <style in="src\codegen\constants.xml" style="src\codegen\constants.xsl" + out="Constants.java"/> + </target> + + <!-- =================================================================== --> <!-- Special target for Gump --> <!-- =================================================================== --> <target name="gump" depends="all, javadocs"/> @@ -997,4 +1004,5 @@ xdocs. Point schemas.dir to Forrest's 'schemas' directory."> </xmlcatalog> </xmlvalidate> </target> + </project> diff --git a/src/codegen/allprops.xml b/src/codegen/allprops.xml deleted file mode 100644 index 480a7f3c9..000000000 --- a/src/codegen/allprops.xml +++ /dev/null @@ -1,3 +0,0 @@ -<allprops> -<propfile>foproperties.xml</propfile> -</allprops> diff --git a/src/codegen/constants.xml b/src/codegen/constants.xml new file mode 100644 index 000000000..83fb9df22 --- /dev/null +++ b/src/codegen/constants.xml @@ -0,0 +1,55 @@ +<!-- + * $Id$ + * ============================================================================ + * The Apache Software License, Version 1.1 + * ============================================================================ + * + * Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modifica- + * tion, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The end-user documentation included with the redistribution, if any, must + * include the following acknowledgment: "This product includes software + * developed by the Apache Software Foundation (http://www.apache.org/)." + * Alternately, this acknowledgment may appear in the software itself, if + * and wherever such third-party acknowledgments normally appear. + * + * 4. The names "FOP" and "Apache Software Foundation" must not be used to + * endorse or promote products derived from this software without prior + * written permission. For written permission, please contact + * apache@apache.org. + * + * 5. Products derived from this software may not be called "Apache", nor may + * "Apache" appear in their name, without prior written permission of the + * Apache Software Foundation. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU- + * DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * ============================================================================ + * + * This software consists of voluntary contributions made by many individuals + * on behalf of the Apache Software Foundation and was originally created by + * James Tauber <jtauber@jtauber.com>. For more information on the Apache + * Software Foundation, please see <http://www.apache.org/>. + */ +--> +<allprops> +<propfile>foproperties.xml</propfile> +<elementfile>foelements.xml</elementfile> +</allprops> diff --git a/src/codegen/genconst.xsl b/src/codegen/constants.xsl index 518b3a418..1a2097d10 100644 --- a/src/codegen/genconst.xsl +++ b/src/codegen/constants.xsl @@ -1,5 +1,4 @@ -<!-- -$Id$ +<!-- $Id$ ============================================================================ The Apache Software License, Version 1.1 ============================================================================ @@ -51,22 +50,88 @@ Software Foundation, please see <http://www.apache.org/>. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> +<xsl:include href="./propinc.xsl"/> <xsl:output method="text" /> <xsl:template match="allprops"> <xsl:variable name="constlist"> - <xsl:for-each select="document(propfile)//enumeration/value"> + <xsl:for-each select="document(propfile)//generic-property-list + //enumeration/value"> <xsl:sort select="@const"/> <xsl:value-of select="@const"/>:</xsl:for-each> </xsl:variable> + +<xsl:variable name="propertylist"> + <xsl:for-each select="document(propfile)//generic-property-list// + property[not(@type = 'generic')]"> + <xsl:sort select="name"/> + <xsl:text>PR_</xsl:text> + <xsl:call-template name="makeEnumConstant"> + <xsl:with-param name="propstr" select="name" /> + </xsl:call-template> + <xsl:text>:</xsl:text> + </xsl:for-each> +</xsl:variable> + +<xsl:variable name="compoundpropertylist"> + <xsl:for-each select="document(propfile)//generic-property-list// + property/compound/subproperty"> + <xsl:sort select="name"/> + <xsl:text>CP_</xsl:text> + <xsl:call-template name="makeEnumConstant"> + <xsl:with-param name="propstr" select="name" /> + </xsl:call-template> + <xsl:text>:</xsl:text> + </xsl:for-each> +</xsl:variable> + + +<xsl:variable name="elementlist"> + <xsl:for-each select="document(elementfile)//element"> + <xsl:sort select="name"/> + <xsl:text>FO_</xsl:text> + <xsl:call-template name="makeEnumConstant"> + <xsl:with-param name="propstr" select="name" /> + </xsl:call-template> + <xsl:text>:</xsl:text> + </xsl:for-each> +</xsl:variable> + <xsl:text> + package org.apache.fop.fo.properties; public interface Constants {</xsl:text> + + // element constants +<xsl:call-template name="sortconsts"> + <xsl:with-param name="consts" select="$elementlist"/> + <xsl:with-param name="counter" select="'ELEMENT'"/> +</xsl:call-template> + + // Masks + int COMPOUND_SHIFT = 9; + int PROPERTY_MASK = (1 << COMPOUND_SHIFT)-1; + int COMPOUND_MASK = ~PROPERTY_MASK; + + // property constants +<xsl:call-template name="sortconsts"> + <xsl:with-param name="consts" select="$propertylist"/> + <xsl:with-param name="counter" select="'PROPERTY'"/> +</xsl:call-template> + + // compound property constants +<xsl:call-template name="sortconsts"> + <xsl:with-param name="consts" select="$compoundpropertylist"/> + <xsl:with-param name="suffix" select="' << COMPOUND_SHIFT'"/> +</xsl:call-template> + + // Enumeration constants <xsl:call-template name="sortconsts"> <xsl:with-param name="consts" select="$constlist"/> </xsl:call-template> + <xsl:text> } </xsl:text> @@ -76,27 +141,40 @@ public interface Constants {</xsl:text> <xsl:param name="consts"/> <xsl:param name="prevconst"/> <xsl:param name="num" select="1"/> +<xsl:param name="suffix" select="''"/> +<xsl:param name="counter" select="''"/> <xsl:variable name="cval" select="substring-before($consts,':')"/> <xsl:choose> - <xsl:when test="$consts = ''"/> + <xsl:when test="$consts = ''"> + <xsl:if test="$counter != ''"> + <xsl:text> + int </xsl:text> + <xsl:value-of select="$counter"/>_COUNT = <xsl:value-of select="$num - 1"/>; + </xsl:if> + </xsl:when> <xsl:when test="$cval = $prevconst"> <xsl:call-template name="sortconsts"> <xsl:with-param name="consts" select="substring-after($consts,concat($cval, ':'))"/> <xsl:with-param name="num" select="$num"/> <xsl:with-param name="prevconst" select="$cval"/> + <xsl:with-param name="counter" select="$counter"/> + <xsl:with-param name="suffix" select="$suffix"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:text> - int </xsl:text> + int </xsl:text> <xsl:value-of select="$cval"/> <xsl:text> = </xsl:text> <xsl:value-of select="$num"/> + <xsl:value-of select="$suffix"/> <xsl:text>;</xsl:text> <xsl:call-template name="sortconsts"> <xsl:with-param name="consts" select="substring-after($consts,concat($cval, ':'))"/> <xsl:with-param name="num" select="$num + 1"/> <xsl:with-param name="prevconst" select="$cval"/> + <xsl:with-param name="counter" select="$counter"/> + <xsl:with-param name="suffix" select="$suffix"/> </xsl:call-template> </xsl:otherwise> </xsl:choose> diff --git a/src/codegen/foelements.xml b/src/codegen/foelements.xml new file mode 100644 index 000000000..35c7ed97f --- /dev/null +++ b/src/codegen/foelements.xml @@ -0,0 +1,1085 @@ +<root> +<common> + <name>CommonAccessibilityProperties</name> + <property>source-document</property> + <property>role</property> +</common> + + +<common> + <name>CommonAbsolutePositionProperties</name> + <property>absolute-position</property> + <property>position</property> + <property>top</property> + <property>right</property> + <property>bottom</property> + <property>left</property> +</common> + +<common> + <name>CommonAuralProperties</name> + <property>azimuth</property> + <property>cue-after</property> + <property>cue-before</property> + <property>cue</property> + <property>elevation</property> + <property>pause-after</property> + <property>pause-before</property> + <property>pause</property> + <property>pitch</property> + <property>pitch-range</property> + <property>play-during</property> + <property>richness</property> + <property>speak</property> + <property>speak-header</property> + <property>speak-numeral</property> + <property>speak-punctuation</property> + <property>speech-rate</property> + <property>stress</property> + <property>voice-family</property> + <property>volume</property> +</common> + +<common> + <name>CommonBorderPaddingBackgroundProperties</name> + <property>background-attachment</property> + <property>background-color</property> + <property>background-image</property> + <property>background-repeat</property> + <property>background-position-horizontal</property> + <property>background-position-vertical</property> + <property>border-before-color</property> + <property>border-before-style</property> + <property>border-before-width</property> + <property>border-after-color</property> + <property>border-after-style</property> + <property>border-after-width</property> + <property>border-start-color</property> + <property>border-start-style</property> + <property>border-start-width</property> + <property>border-end-color</property> + <property>border-end-style</property> + <property>border-end-width</property> + <property>border-top-color</property> + <property>border-top-style</property> + <property>border-top-width</property> + <property>border-bottom-color</property> + <property>border-bottom-style</property> + <property>border-bottom-width</property> + <property>border-left-color</property> + <property>border-left-style</property> + <property>border-left-width</property> + <property>border-right-color</property> + <property>border-right-style</property> + <property>border-right-width</property> + <property>padding-before</property> + <property>padding-after</property> + <property>padding-start</property> + <property>padding-end</property> + <property>padding-top</property> + <property>padding-bottom</property> + <property>padding-left</property> + <property>padding-right</property> + + <!-- shorthands --> + <property>border</property> + <property>border-style</property> + <property>border-width</property> + <property>border-color</property> + <property>border-top</property> + <property>border-bottom</property> + <property>border-left</property> + <property>border-right</property> + <property>padding</property> + +</common> + +<common> + <name>CommonFontProperties</name> + <property>font</property> + <property>font-family</property> + <property>font-selection-strategy</property> + <property>font-size</property> + <property>font-stretch</property> + <property>font-size-adjust</property> + <property>font-style</property> + <property>font-variant</property> + <property>font-weight</property> +</common> + +<common> + <name>CommonHyphenationProperties</name> + <property>country</property> + <property>language</property> + <property>script</property> + <property>hyphenate</property> + <property>hyphenation-character</property> + <property>hyphenation-push-character-count</property> + <property>hyphenation-remain-character-count</property> +</common> + +<common> + <name>CommonMarginPropertiesBlock</name> + <property>margin</property> + <property>margin-top</property> + <property>margin-bottom</property> + <property>margin-left</property> + <property>margin-right</property> + <property>space-before</property> + <property>space-after</property> + <property>start-indent</property> + <property>end-indent</property> +</common> + + +<common> + <name>CommonMarginPropertiesInline</name> + <property>space-end</property> + <property>space-start</property> +</common> + +<common> + <name>CommonRelativePositionProperties</name> + <property>relative-position</property> +</common> + + + + +<element> + <name>root</name> + <property>media-usage</property> + <content>layout-master-set</content> + <content>declaration</content> + <content>page-sequence</content> +</element> + +<element> + <name>declaration</name> + <content>color-profile</content> +</element> + +<element> + <name>color-profile</name> + <property>src</property> + <property>color-profile-name</property> + <property>rendering-intent</property> +</element> + +<element> + <name>page-sequence</name> + <property>country</property> + <property>format</property> + <property>language</property> + <property>letter-value</property> + <property>grouping-separator</property> + <property>grouping-size</property> + <property>id</property> + <property>initial-page-number</property> + <property>force-page-count</property> + <property>master-reference</property> + <content>title</content> + <content>static-content</content> + <content>flow</content> +</element> + +<element> + <name>layout-master-set</name> + <property>master-name</property> + <content>simple-page-master</content> + <content>page-sequence-master</content> +</element> + +<element> + <name>page-sequence-master</name> + <property>master-name</property> + <content>single-page-master-reference</content> + <content>repeatable-page-master-reference</content> + <content>repeatable-page-master-alternatives</content> +</element> + +<element> + <name>single-page-master-reference</name> + <property>master-reference</property> +</element> + +<element> + <name>repeatable-page-master-reference</name> + <property>master-reference</property> + <property>maximum-repeats</property> +</element> + +<element> + <name>repeatable-page-master-alternatives</name> + <property>maximum-repeats</property> + <content>conditional-page-master-reference</content> +</element> + +<element> + <name>conditional-page-master-reference</name> + <property>master-reference</property> + <property>page-position</property> + <property>odd-or-even</property> + <property>blank-or-not-blank</property> +</element> + +<element> + <name>simple-page-master</name> + <common-ref>CommonMarginPropertiesBlock</common-ref> + <property>master-name</property> + <property>page-height</property> + <property>page-width</property> + <property>reference-orientation</property> + <property>writing-mode</property> + <content>region-body</content> + <content>region-before</content> + <content>region-after</content> + <content>region-start</content> + <content>region-end</content> +</element> + +<element> + <name>region-body</name> + <common-ref>CommonBorderPaddingBackgroundProperties</common-ref> + <common-ref>CommonMarginPropertiesBlock</common-ref> + <property>clip</property> + <property>column-count</property> + <property>column-gap</property> + <property>display-align</property> + <property>overflow</property> + <property>region-name</property> + <property>reference-orientation</property> + <property>writing-mode</property> + +</element> + +<element> + <name>region-before</name> + <common-ref>CommonBorderPaddingBackgroundProperties</common-ref> + <property>clip</property> + <property>display-align</property> + <property>extent</property> + <property>overflow</property> + <property>precedence</property> + <property>region-name</property> + <property>reference-orientation</property> + <property>writing-mode</property> + +</element> + +<element> + <name>region-after</name> + <common-ref>CommonBorderPaddingBackgroundProperties</common-ref> + <property>clip</property> + <property>display-align</property> + <property>extent</property> + <property>overflow</property> + <property>precedence</property> + <property>region-name</property> + <property>reference-orientation</property> + <property>writing-mode</property> + +</element> + +<element> + <name>region-start</name> + <common-ref>CommonBorderPaddingBackgroundProperties</common-ref> + <property>clip</property> + <property>display-align</property> + <property>extent</property> + <property>overflow</property> + <property>region-name</property> + <property>reference-orientation</property> + <property>writing-mode</property> + +</element> + +<element> + <name>region-end</name> + <common-ref>CommonBorderPaddingBackgroundProperties</common-ref> + <property>clip</property> + <property>display-align</property> + <property>extent</property> + <property>overflow</property> + <property>region-name</property> + <property>reference-orientation</property> + <property>writing-mode</property> + +</element> + +<element> + <name>flow</name> + <property>flow-name</property> + <content>%block;</content> +</element> + +<element> + <name>static-content</name> + <property>flow-name</property> + <content>%block;</content> +</element> + +<element> + <name>title</name> + <common-ref>CommonAccessibilityProperties</common-ref> + <common-ref>CommonAuralProperties</common-ref> + <common-ref>CommonBorderPaddingBackgroundProperties</common-ref> + <common-ref>CommonFontProperties</common-ref> + <common-ref>CommonMarginPropertiesInline</common-ref> + <property>color</property> + <property>line-height</property> + <property>visibility</property> + <content>%inline;</content> +</element> + +<element> + <name>block</name> + <common-ref>CommonAccessibilityProperties</common-ref> + <common-ref>CommonAuralProperties</common-ref> + <common-ref>CommonBorderPaddingBackgroundProperties</common-ref> + <common-ref>CommonFontProperties</common-ref> + <common-ref>CommonHyphenationProperties</common-ref> + <common-ref>CommonMarginPropertiesBlock</common-ref> + <common-ref>CommonRelativePositionProperties</common-ref> + <property>page-break-after</property> + <property>page-break-before</property> + <property>break-after</property> + <property>break-before</property> + <property>color</property> + <property>text-depth</property> + <property>text-altitude</property> + <property>hyphenation-keep</property> + <property>hyphenation-ladder-count</property> + <property>id</property> + <!-- property>intrusion-displace</property --> + <property>page-break-inside</property> + <property>keep-together</property> + <property>keep-with-next</property> + <property>keep-with-previous</property> + <property>last-line-end-indent</property> + <property>linefeed-treatment</property> + <property>line-height</property> + <property>line-height-shift-adjustment</property> + <property>line-stacking-strategy</property> + <property>orphans</property> + <property>white-space-treatment</property> + <property>span</property> + <property>text-align</property> + <property>text-align-last</property> + <property>text-indent</property> + <property>visibility</property> + <property>white-space-collapse</property> + <property>widows</property> + <property>wrap-option</property> + <content>%inline;</content> + <content>%block;</content> +</element> + +<element> + <name>block-container</name> + <common-ref>CommonAbsolutePositionProperties</common-ref> + <common-ref>CommonBorderPaddingBackgroundProperties</common-ref> + <common-ref>CommonMarginPropertiesBlock</common-ref> + <property>block-progression-dimension</property> + <property>page-break-after</property> + <property>page-break-before</property> + <property>break-after</property> + <property>break-before</property> + <property>clip</property> + <property>display-align</property> + <property>height</property> + <property>id</property> + <property>inline-progression-dimension</property> + <!--property>intrusion-displace</property --> + <property>page-break-inside</property> + <property>keep-together</property> + <property>keep-with-next</property> + <property>keep-with-previous</property> + <property>overflow</property> + <property>reference-orientation</property> + <property>span</property> + <property>width</property> + <property>writing-mode</property> + <property>z-index</property> + <content>%block;</content> +</element> + +<element> + <name>bidi-override</name> + <common-ref>CommonAuralProperties</common-ref> + <common-ref>CommonFontProperties</common-ref> + <common-ref>CommonRelativePositionProperties</common-ref> + <property>color</property> + <property>direction</property> + <property>id</property> + <property>letter-spacing</property> + <property>line-height</property> + <property>score-spaces</property> + <property>unicode-bidi</property> + <property>word-spacing</property> + <content>%inline;</content> + <content>%block;</content> +</element> + +<element> + <name>character</name> + <common-ref>CommonAuralProperties</common-ref> + <common-ref>CommonBorderPaddingBackgroundProperties</common-ref> + <common-ref>CommonFontProperties</common-ref> + <common-ref>CommonHyphenationProperties</common-ref> + <common-ref>CommonMarginPropertiesInline</common-ref> + <common-ref>CommonRelativePositionProperties</common-ref> + <property>vertical-align</property> + <property>alignment-adjust</property> + <property>treat-as-word-space</property> + <property>alignment-baseline</property> + <property>baseline-shift</property> + <property>character</property> + <property>color</property> + <property>dominant-baseline</property> + <property>text-depth</property> + <property>text-altitude</property> + <property>glyph-orientation-horizontal</property> + <property>glyph-orientation-vertical</property> + <property>id</property> + <property>keep-with-next</property> + <property>keep-with-previous</property> + <property>letter-spacing</property> + <property>line-height</property> + <property>score-spaces</property> + <property>suppress-at-line-break</property> + <property>text-decoration</property> + <property>text-shadow</property> + <property>text-transform</property> + <property>visibility</property> + <property>word-spacing</property> + +</element> + +<element> + <name>initial-property-set</name> + <common-ref>CommonAccessibilityProperties</common-ref> + <common-ref>CommonAuralProperties</common-ref> + <common-ref>CommonBorderPaddingBackgroundProperties</common-ref> + <common-ref>CommonFontProperties</common-ref> + <common-ref>CommonRelativePositionProperties</common-ref> + <property>color</property> + <property>id</property> + <property>letter-spacing</property> + <property>line-height</property> + <property>score-spaces</property> + <property>text-decoration</property> + <property>text-shadow</property> + <property>text-transform</property> + <property>word-spacing</property> + +</element> + +<element> + <name>external-graphic</name> + <common-ref>CommonAccessibilityProperties</common-ref> + <common-ref>CommonAuralProperties</common-ref> + <common-ref>CommonBorderPaddingBackgroundProperties</common-ref> + <common-ref>CommonMarginPropertiesInline</common-ref> + <common-ref>CommonRelativePositionProperties</common-ref> + <property>vertical-align</property> + <property>alignment-adjust</property> + <property>alignment-baseline</property> + <property>baseline-shift</property> + <property>block-progression-dimension</property> + <property>clip</property> + <property>content-height</property> + <property>content-type</property> + <property>content-width</property> + <property>display-align</property> + <property>dominant-baseline</property> + <property>height</property> + <property>id</property> + <property>inline-progression-dimension</property> + <property>keep-with-next</property> + <property>keep-with-previous</property> + <property>line-height</property> + <property>overflow</property> + <property>scaling</property> + <property>scaling-method</property> + <property>src</property> + <property>text-align</property> + <property>width</property> + +</element> + +<element> + <name>instream-foreign-object</name> + <common-ref>CommonAccessibilityProperties</common-ref> + <common-ref>CommonAuralProperties</common-ref> + <common-ref>CommonBorderPaddingBackgroundProperties</common-ref> + <common-ref>CommonMarginPropertiesInline</common-ref> + <common-ref>CommonRelativePositionProperties</common-ref> + <property>vertical-align</property> + <property>alignment-adjust</property> + <property>alignment-baseline</property> + <property>baseline-shift</property> + <property>block-progression-dimension</property> + <property>clip</property> + <property>content-height</property> + <property>content-type</property> + <property>content-width</property> + <property>display-align</property> + <property>dominant-baseline</property> + <property>height</property> + <property>id</property> + <property>inline-progression-dimension</property> + <property>keep-with-next</property> + <property>keep-with-previous</property> + <property>line-height</property> + <property>overflow</property> + <property>scaling</property> + <property>scaling-method</property> + <property>text-align</property> + <property>width</property> + +</element> + +<element> + <name>inline</name> + <common-ref>CommonAccessibilityProperties</common-ref> + <common-ref>CommonAuralProperties</common-ref> + <common-ref>CommonBorderPaddingBackgroundProperties</common-ref> + <common-ref>CommonFontProperties</common-ref> + <common-ref>CommonMarginPropertiesInline</common-ref> + <common-ref>CommonRelativePositionProperties</common-ref> + <property>vertical-align</property> + <property>alignment-adjust</property> + <property>alignment-baseline</property> + <property>baseline-shift</property> + <property>block-progression-dimension</property> + <property>color</property> + <property>dominant-baseline</property> + <property>height</property> + <property>id</property> + <property>inline-progression-dimension</property> + <property>page-break-inside</property> + <property>keep-together</property> + <property>keep-with-next</property> + <property>keep-with-previous</property> + <property>line-height</property> + <property>text-decoration</property> + <property>visibility</property> + <property>width</property> + <property>wrap-option</property> + <content>%inline;</content> + <content>%block;</content> +</element> + +<element> + <name>inline-container</name> + <common-ref>CommonBorderPaddingBackgroundProperties</common-ref> + <common-ref>CommonMarginPropertiesInline</common-ref> + <common-ref>CommonRelativePositionProperties</common-ref> + <property>vertical-align</property> + <property>alignment-adjust</property> + <property>alignment-baseline</property> + <property>baseline-shift</property> + <property>block-progression-dimension</property> + <property>clip</property> + <property>display-align</property> + <property>dominant-baseline</property> + <property>height</property> + <property>id</property> + <property>inline-progression-dimension</property> + <property>page-break-inside</property> + <property>keep-together</property> + <property>keep-with-next</property> + <property>keep-with-previous</property> + <property>line-height</property> + <property>overflow</property> + <property>reference-orientation</property> + <property>width</property> + <property>writing-mode</property> + <content>%block;</content> +</element> + +<element> + <name>leader</name> + <common-ref>CommonAccessibilityProperties</common-ref> + <common-ref>CommonAuralProperties</common-ref> + <common-ref>CommonBorderPaddingBackgroundProperties</common-ref> + <common-ref>CommonFontProperties</common-ref> + <common-ref>CommonMarginPropertiesInline</common-ref> + <common-ref>CommonRelativePositionProperties</common-ref> + <property>vertical-align</property> + <property>alignment-adjust</property> + <property>alignment-baseline</property> + <property>baseline-shift</property> + <property>color</property> + <property>dominant-baseline</property> + <property>text-depth</property> + <property>text-altitude</property> + <property>id</property> + <property>keep-with-next</property> + <property>keep-with-previous</property> + <property>leader-alignment</property> + <property>leader-length</property> + <property>leader-pattern</property> + <property>leader-pattern-width</property> + <property>rule-style</property> + <property>rule-thickness</property> + <property>letter-spacing</property> + <property>line-height</property> + <property>text-shadow</property> + <property>visibility</property> + <property>word-spacing</property> + <content>%inline;</content> +</element> + +<element> + <name>page-number</name> + <common-ref>CommonAccessibilityProperties</common-ref> + <common-ref>CommonAuralProperties</common-ref> + <common-ref>CommonBorderPaddingBackgroundProperties</common-ref> + <common-ref>CommonFontProperties</common-ref> + <common-ref>CommonMarginPropertiesInline</common-ref> + <common-ref>CommonRelativePositionProperties</common-ref> + <property>vertical-align</property> + <property>alignment-adjust</property> + <property>alignment-baseline</property> + <property>baseline-shift</property> + <property>dominant-baseline</property> + <property>id</property> + <property>keep-with-next</property> + <property>keep-with-previous</property> + <property>letter-spacing</property> + <property>line-height</property> + <property>score-spaces</property> + <property>text-altitude</property> + <property>text-decoration</property> + <property>text-depth</property> + <property>text-shadow</property> + <property>text-transform</property> + <property>visibility</property> + <property>word-spacing</property> + <property>wrap-option</property> + +</element> + +<element> + <name>page-number-citation</name> + <common-ref>CommonAccessibilityProperties</common-ref> + <common-ref>CommonAuralProperties</common-ref> + <common-ref>CommonBorderPaddingBackgroundProperties</common-ref> + <common-ref>CommonFontProperties</common-ref> + <common-ref>CommonMarginPropertiesInline</common-ref> + <common-ref>CommonRelativePositionProperties</common-ref> + <property>vertical-align</property> + <property>alignment-adjust</property> + <property>alignment-baseline</property> + <property>baseline-shift</property> + <property>dominant-baseline</property> + <property>id</property> + <property>keep-with-next</property> + <property>keep-with-previous</property> + <property>letter-spacing</property> + <property>line-height</property> + <property>ref-id</property> + <property>score-spaces</property> + <property>text-altitude</property> + <property>text-decoration</property> + <property>text-depth</property> + <property>text-shadow</property> + <property>text-transform</property> + <property>visibility</property> + <property>word-spacing</property> + <property>wrap-option</property> + +</element> + +<element> + <name>table-and-caption</name> + <common-ref>CommonAccessibilityProperties</common-ref> + <common-ref>CommonAuralProperties</common-ref> + <common-ref>CommonBorderPaddingBackgroundProperties</common-ref> + <common-ref>CommonMarginPropertiesBlock</common-ref> + <common-ref>CommonRelativePositionProperties</common-ref> + <property>page-break-after</property> + <property>page-break-before</property> + <property>break-after</property> + <property>break-before</property> + <property>caption-side</property> + <property>id</property> + <!--property>intrusion-displace</property --> + <property>page-break-inside</property> + <property>keep-together</property> + <property>keep-with-next</property> + <property>keep-with-previous</property> + <property>text-align</property> + <content>table-caption</content> + <content>table</content> +</element> + +<element> + <name>table</name> + <common-ref>CommonAccessibilityProperties</common-ref> + <common-ref>CommonAuralProperties</common-ref> + <common-ref>CommonBorderPaddingBackgroundProperties</common-ref> + <common-ref>CommonMarginPropertiesBlock</common-ref> + <common-ref>CommonRelativePositionProperties</common-ref> + <property>block-progression-dimension</property> + <property>border-after-precedence</property> + <property>border-before-precedence</property> + <property>border-spacing</property> + <property>border-collapse</property> + <property>border-end-precedence</property> + <property>border-separation</property> + <property>border-start-precedence</property> + <property>page-break-after</property> + <property>page-break-before</property> + <property>break-after</property> + <property>break-before</property> + <property>id</property> + <property>inline-progression-dimension</property> + <!--property>intrusion-displace</property --> + <property>height</property> + <property>page-break-inside</property> + <property>keep-together</property> + <property>keep-with-next</property> + <property>keep-with-previous</property> + <property>table-layout</property> + <property>table-omit-footer-at-break</property> + <property>table-omit-header-at-break</property> + <property>width</property> + <property>writing-mode</property> + <content>table-column</content> + <content>table-header</content> + <content>table-footer</content> + <content>table-body</content> +</element> + +<element> + <name>table-column</name> + <common-ref>CommonBorderPaddingBackgroundProperties</common-ref> +<!-- +NOTE: +Only the background properties from this set apply. If the value of border-collapse is "collapse" or "collapse-with-precedence" for the table the border properties also apply. +--> + <property>border-after-precedence</property> + <property>border-before-precedence</property> + <property>border-end-precedence</property> + <property>border-start-precedence</property> + <property>column-number</property> + <property>column-width</property> + <property>number-columns-repeated</property> + <property>number-columns-spanned</property> + <property>visibility</property> + +</element> + +<element> + <name>table-caption</name> + <common-ref>CommonAccessibilityProperties</common-ref> + <common-ref>CommonAuralProperties</common-ref> + <common-ref>CommonBorderPaddingBackgroundProperties</common-ref> + <common-ref>CommonRelativePositionProperties</common-ref> + <property>block-progression-dimension</property> + <property>height</property> + <property>id</property> + <property>inline-progression-dimension</property> + <!--property>intrusion-displace</property --> + <property>page-break-inside</property> + <property>keep-together</property> + <property>width</property> + <content>%block;</content> +</element> + +<element> + <name>table-header</name> + <common-ref>CommonAccessibilityProperties</common-ref> + <common-ref>CommonAuralProperties</common-ref> + <common-ref>CommonBorderPaddingBackgroundProperties</common-ref> +<!-- +NOTE: +Only the background properties from this set apply. If the value of border-collapse is "collapse" or "collapse-with-precedence" for the table the border properties also apply. +--> + <common-ref>CommonRelativePositionProperties</common-ref> + <property>border-after-precedence</property> + <property>border-before-precedence</property> + <property>border-end-precedence</property> + <property>border-start-precedence</property> + <property>id</property> + <property>visibility</property> + <content>table-row</content> + <content>table-cell</content> +</element> + +<element> + <name>table-footer</name> + <common-ref>CommonAccessibilityProperties</common-ref> + <common-ref>CommonAuralProperties</common-ref> + <common-ref>CommonBorderPaddingBackgroundProperties</common-ref> +<!-- +NOTE: +Only the background properties from this set apply. If the value of border-collapse is "collapse" or "collapse-with-precedence" for the table the border properties also apply. +--> + <common-ref>CommonRelativePositionProperties</common-ref> + <property>border-after-precedence</property> + <property>border-before-precedence</property> + <property>border-end-precedence</property> + <property>border-start-precedence</property> + <property>id</property> + <property>visibility</property> + <content>table-row</content> + <content>table-cell</content> +</element> + +<element> + <name>table-body</name> + <common-ref>CommonAccessibilityProperties</common-ref> + <common-ref>CommonAuralProperties</common-ref> + <common-ref>CommonBorderPaddingBackgroundProperties</common-ref> +<!-- +NOTE: +Only the background properties from this set apply. If the value of border-collapse is "collapse" or "collapse-with-precedence" for the table the border properties also apply. +--> + + <common-ref>CommonRelativePositionProperties</common-ref> + <property>border-after-precedence</property> + <property>border-before-precedence</property> + <property>border-end-precedence</property> + <property>border-start-precedence</property> + <property>id</property> + <property>visibility</property> + <content>table-row</content> + <content>table-cell</content> +</element> + +<element> + <name>table-row</name> + <common-ref>CommonAccessibilityProperties</common-ref> + <property>block-progression-dimension</property> + <common-ref>CommonAuralProperties</common-ref> + <common-ref>CommonBorderPaddingBackgroundProperties</common-ref> +<!-- +NOTE: +Only the background properties from this set apply. If the value of border-collapse is "collapse" or "collapse-with-precedence" for the table the border properties also apply. +--> + <common-ref>CommonRelativePositionProperties</common-ref> + <property>border-after-precedence</property> + <property>border-before-precedence</property> + <property>border-end-precedence</property> + <property>border-start-precedence</property> + <property>page-break-after</property> + <property>page-break-before</property> + <property>break-after</property> + <property>break-before</property> + <property>id</property> + <property>height</property> + <property>page-break-inside</property> + <property>keep-together</property> + <property>keep-with-next</property> + <property>keep-with-previous</property> + <property>visibility</property> + <content>table-cell</content> +</element> + +<element> + <name>table-cell</name> + <common-ref>CommonAccessibilityProperties</common-ref> + <common-ref>CommonAuralProperties</common-ref> + <common-ref>CommonBorderPaddingBackgroundProperties</common-ref> + <common-ref>CommonRelativePositionProperties</common-ref> + <property>border-after-precedence</property> + <property>border-before-precedence</property> + <property>border-end-precedence</property> + <property>border-start-precedence</property> + <property>block-progression-dimension</property> + <property>column-number</property> + <property>display-align</property> + <property>relative-align</property> + <property>empty-cells</property> + <property>ends-row</property> + <property>height</property> + <property>id</property> + <property>inline-progression-dimension</property> + <property>number-columns-spanned</property> + <property>number-rows-spanned</property> + <property>starts-row</property> + <property>width</property> + <content>%block;</content> +</element> + +<element> + <name>list-block</name> + <common-ref>CommonAccessibilityProperties</common-ref> + <common-ref>CommonAuralProperties</common-ref> + <common-ref>CommonBorderPaddingBackgroundProperties</common-ref> + <common-ref>CommonMarginPropertiesBlock</common-ref> + <common-ref>CommonRelativePositionProperties</common-ref> + <property>page-break-after</property> + <property>page-break-before</property> + <property>break-after</property> + <property>break-before</property> + <property>id</property> + <!--property>intrusion-displace</property --> + <property>page-break-inside</property> + <property>keep-together</property> + <property>keep-with-next</property> + <property>keep-with-previous</property> + <property>provisional-distance-between-starts</property> + <property>provisional-label-separation</property> + <content>list-item</content> +</element> + +<element> + <name>list-item</name> + <common-ref>CommonAccessibilityProperties</common-ref> + <common-ref>CommonAuralProperties</common-ref> + <common-ref>CommonBorderPaddingBackgroundProperties</common-ref> + <common-ref>CommonMarginPropertiesBlock</common-ref> + <common-ref>CommonRelativePositionProperties</common-ref> + <property>page-break-after</property> + <property>page-break-before</property> + <property>break-after</property> + <property>break-before</property> + <property>id</property> + <!--property>intrusion-displace</property --> + <property>page-break-inside</property> + <property>keep-together</property> + <property>keep-with-next</property> + <property>keep-with-previous</property> + <property>relative-align</property> + <content>list-item-label</content> + <content>list-item-body</content> +</element> + +<element> + <name>list-item-body</name> + <common-ref>CommonAccessibilityProperties</common-ref> + <property>id</property> + <property>page-break-inside</property> + <property>keep-together</property> + <content>%block;</content> +</element> + +<element> + <name>list-item-label</name> + <common-ref>CommonAccessibilityProperties</common-ref> + <property>id</property> + <property>page-break-inside</property> + <property>keep-together</property> + <content>%block;</content> +</element> + +<element> + <name>basic-link</name> + <common-ref>CommonAccessibilityProperties</common-ref> + <common-ref>CommonAuralProperties</common-ref> + <common-ref>CommonBorderPaddingBackgroundProperties</common-ref> + <common-ref>CommonMarginPropertiesInline</common-ref> + <common-ref>CommonRelativePositionProperties</common-ref> + <property>vertical-align</property> + <property>alignment-adjust</property> + <property>alignment-baseline</property> + <property>baseline-shift</property> + <property>destination-placement-offset</property> + <property>dominant-baseline</property> + <property>external-destination</property> + <property>id</property> + <property>indicate-destination</property> + <property>internal-destination</property> + <property>page-break-inside</property> + <property>keep-together</property> + <property>keep-with-next</property> + <property>keep-with-previous</property> + <property>line-height</property> + <property>show-destination</property> + <property>target-processing-context</property> + <property>target-presentation-context</property> + <property>target-stylesheet</property> + <content>%inline;</content> + <content>%block;</content> +</element> + +<element> + <name>multi-switch</name> + <common-ref>CommonAccessibilityProperties</common-ref> + <property>auto-restore</property> + <property>id</property> + <content>multi-case</content> +</element> + +<element> + <name>multi-case</name> + <common-ref>CommonAccessibilityProperties</common-ref> + <property>id</property> + <property>starting-state</property> + <property>case-name</property> + <property>case-title</property> + <content>%inline;</content> + <content>%block;</content> +</element> + +<element> + <name>multi-toggle</name> + <common-ref>CommonAccessibilityProperties</common-ref> + <property>id</property> + <property>switch-to</property> + <content>%inline;</content> + <content>%block;</content> +</element> + +<element> + <name>multi-properties</name> + <common-ref>CommonAccessibilityProperties</common-ref> + <property>id</property> + <content>multi-property-set</content> + <content>wrapper</content> +</element> + +<element> + <name>multi-property-set</name> + <property>id</property> + <property>active-state</property> +</element> + +<element> + <name>float</name> + <property>float</property> + <property>clear</property> + <content>%block;</content> +</element> + +<element> + <name>footnote</name> + <common-ref>CommonAccessibilityProperties</common-ref> + <content>inline</content> + <content>footnote-body</content> +</element> + +<element> + <name>footnote-body</name> + <common-ref>CommonAccessibilityProperties</common-ref> + <content>%block;</content> +</element> + +<element> + <name>wrapper</name> + <property>id</property> + <content>%inline;</content> + <content>%block;</content> +</element> + +<element> + <name>marker</name> + <property>marker-class-name</property> + <content>%inline;</content> + <content>%block;</content> +</element> + +<element> + <name>retrieve-marker</name> + <property>retrieve-class-name</property> + <property>retrieve-position</property> + <property>retrieve-boundary</property> +</element> + +</root> + diff --git a/src/codegen/propinc.xsl b/src/codegen/propinc.xsl index 0407205ad..0699a32d8 100644 --- a/src/codegen/propinc.xsl +++ b/src/codegen/propinc.xsl @@ -81,6 +81,14 @@ Software Foundation, please see <http://www.apache.org/>. </xsl:choose> </xsl:template> +<!-- Generate enumeration constants for FO's, Properties, etc. --> +<xsl:template name="makeEnumConstant"> + <xsl:param name="propstr"/> + <xsl:variable name="lcletters" select="'abcdefghijklmnopqrstuvwxyz-:'" /> + <xsl:variable name="ucletters" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ__'" /> + <xsl:value-of select="translate($propstr, $lcletters, $ucletters)"/> +</xsl:template> + <!-- The name of the subclass of Property to be created --> <xsl:template name="propclass"> <xsl:param name="prop" select="."/> diff --git a/src/java/org/apache/fop/fo/Constants.java b/src/java/org/apache/fop/fo/Constants.java new file mode 100644 index 000000000..b5be55044 --- /dev/null +++ b/src/java/org/apache/fop/fo/Constants.java @@ -0,0 +1,489 @@ +/* $Id$ + * ============================================================================ + * The Apache Software License, Version 1.1 + * ============================================================================ + * + * Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modifica- + * tion, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The end-user documentation included with the redistribution, if any, must + * include the following acknowledgment: "This product includes software + * developed by the Apache Software Foundation (http://www.apache.org/)." + * Alternately, this acknowledgment may appear in the software itself, if + * and wherever such third-party acknowledgments normally appear. + * + * 4. The names "FOP" and "Apache Software Foundation" must not be used to + * endorse or promote products derived from this software without prior + * written permission. For written permission, please contact + * apache@apache.org. + * + * 5. Products derived from this software may not be called "Apache", nor may + * "Apache" appear in their name, without prior written permission of the + * Apache Software Foundation. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU- + * DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * ============================================================================ + * + * This software consists of voluntary contributions made by many individuals + * on behalf of the Apache Software Foundation and was originally created by + * James Tauber <jtauber@jtauber.com>. For more information on the Apache + * Software Foundation, please see <http://www.apache.org/>. +*/ +package org.apache.fop.fo.properties; + +public interface Constants { + + // element constants + int FO_BASIC_LINK = 1; + int FO_BIDI_OVERRIDE = 2; + int FO_BLOCK = 3; + int FO_BLOCK_CONTAINER = 4; + int FO_CHARACTER = 5; + int FO_COLOR_PROFILE = 6; + int FO_CONDITIONAL_PAGE_MASTER_REFERENCE = 7; + int FO_DECLARATION = 8; + int FO_EXTERNAL_GRAPHIC = 9; + int FO_FLOAT = 10; + int FO_FLOW = 11; + int FO_FOOTNOTE = 12; + int FO_FOOTNOTE_BODY = 13; + int FO_INITIAL_PROPERTY_SET = 14; + int FO_INLINE = 15; + int FO_INLINE_CONTAINER = 16; + int FO_INSTREAM_FOREIGN_OBJECT = 17; + int FO_LAYOUT_MASTER_SET = 18; + int FO_LEADER = 19; + int FO_LIST_BLOCK = 20; + int FO_LIST_ITEM = 21; + int FO_LIST_ITEM_BODY = 22; + int FO_LIST_ITEM_LABEL = 23; + int FO_MARKER = 24; + int FO_MULTI_CASE = 25; + int FO_MULTI_PROPERTIES = 26; + int FO_MULTI_PROPERTY_SET = 27; + int FO_MULTI_SWITCH = 28; + int FO_MULTI_TOGGLE = 29; + int FO_PAGE_NUMBER = 30; + int FO_PAGE_NUMBER_CITATION = 31; + int FO_PAGE_SEQUENCE = 32; + int FO_PAGE_SEQUENCE_MASTER = 33; + int FO_REGION_AFTER = 34; + int FO_REGION_BEFORE = 35; + int FO_REGION_BODY = 36; + int FO_REGION_END = 37; + int FO_REGION_START = 38; + int FO_REPEATABLE_PAGE_MASTER_ALTERNATIVES = 39; + int FO_REPEATABLE_PAGE_MASTER_REFERENCE = 40; + int FO_RETRIEVE_MARKER = 41; + int FO_ROOT = 42; + int FO_SIMPLE_PAGE_MASTER = 43; + int FO_SINGLE_PAGE_MASTER_REFERENCE = 44; + int FO_STATIC_CONTENT = 45; + int FO_TABLE = 46; + int FO_TABLE_AND_CAPTION = 47; + int FO_TABLE_BODY = 48; + int FO_TABLE_CAPTION = 49; + int FO_TABLE_CELL = 50; + int FO_TABLE_COLUMN = 51; + int FO_TABLE_FOOTER = 52; + int FO_TABLE_HEADER = 53; + int FO_TABLE_ROW = 54; + int FO_TITLE = 55; + int FO_WRAPPER = 56; + int ELEMENT_COUNT = 56; + + // Masks + int COMPOUND_SHIFT = 9; + int PROPERTY_MASK = (1 << COMPOUND_SHIFT)-1; + int COMPOUND_MASK = ~PROPERTY_MASK; + + // property constants + int PR_ABSOLUTE_POSITION = 1; + int PR_ACTIVE_STATE = 2; + int PR_ALIGNMENT_ADJUST = 3; + int PR_ALIGNMENT_BASELINE = 4; + int PR_AUTO_RESTORE = 5; + int PR_AZIMUTH = 6; + int PR_BACKGROUND = 7; + int PR_BACKGROUND_ATTACHMENT = 8; + int PR_BACKGROUND_COLOR = 9; + int PR_BACKGROUND_IMAGE = 10; + int PR_BACKGROUND_POSITION = 11; + int PR_BACKGROUND_POSITION_HORIZONTAL = 12; + int PR_BACKGROUND_POSITION_VERTICAL = 13; + int PR_BACKGROUND_REPEAT = 14; + int PR_BASELINE_SHIFT = 15; + int PR_BLANK_OR_NOT_BLANK = 16; + int PR_BLOCK_PROGRESSION_DIMENSION = 17; + int PR_BORDER = 18; + int PR_BORDER_AFTER_COLOR = 19; + int PR_BORDER_AFTER_PRECEDENCE = 20; + int PR_BORDER_AFTER_STYLE = 21; + int PR_BORDER_AFTER_WIDTH = 22; + int PR_BORDER_BEFORE_COLOR = 23; + int PR_BORDER_BEFORE_PRECEDENCE = 24; + int PR_BORDER_BEFORE_STYLE = 25; + int PR_BORDER_BEFORE_WIDTH = 26; + int PR_BORDER_BOTTOM = 27; + int PR_BORDER_BOTTOM_COLOR = 28; + int PR_BORDER_BOTTOM_STYLE = 29; + int PR_BORDER_BOTTOM_WIDTH = 30; + int PR_BORDER_COLLAPSE = 31; + int PR_BORDER_COLOR = 32; + int PR_BORDER_END_COLOR = 33; + int PR_BORDER_END_PRECEDENCE = 34; + int PR_BORDER_END_STYLE = 35; + int PR_BORDER_END_WIDTH = 36; + int PR_BORDER_LEFT = 37; + int PR_BORDER_LEFT_COLOR = 38; + int PR_BORDER_LEFT_STYLE = 39; + int PR_BORDER_LEFT_WIDTH = 40; + int PR_BORDER_RIGHT = 41; + int PR_BORDER_RIGHT_COLOR = 42; + int PR_BORDER_RIGHT_STYLE = 43; + int PR_BORDER_RIGHT_WIDTH = 44; + int PR_BORDER_SEPARATION = 45; + int PR_BORDER_SPACING = 46; + int PR_BORDER_START_COLOR = 47; + int PR_BORDER_START_PRECEDENCE = 48; + int PR_BORDER_START_STYLE = 49; + int PR_BORDER_START_WIDTH = 50; + int PR_BORDER_STYLE = 51; + int PR_BORDER_TOP = 52; + int PR_BORDER_TOP_COLOR = 53; + int PR_BORDER_TOP_STYLE = 54; + int PR_BORDER_TOP_WIDTH = 55; + int PR_BORDER_WIDTH = 56; + int PR_BOTTOM = 57; + int PR_BREAK_AFTER = 58; + int PR_BREAK_BEFORE = 59; + int PR_CAPTION_SIDE = 60; + int PR_CASE_NAME = 61; + int PR_CASE_TITLE = 62; + int PR_CHARACTER = 63; + int PR_CLEAR = 64; + int PR_CLIP = 65; + int PR_COLOR = 66; + int PR_COLOR_PROFILE_NAME = 67; + int PR_COLUMN_COUNT = 68; + int PR_COLUMN_GAP = 69; + int PR_COLUMN_NUMBER = 70; + int PR_COLUMN_WIDTH = 71; + int PR_CONTENT_HEIGHT = 72; + int PR_CONTENT_TYPE = 73; + int PR_CONTENT_WIDTH = 74; + int PR_COUNTRY = 75; + int PR_CUE = 76; + int PR_CUE_AFTER = 77; + int PR_CUE_BEFORE = 78; + int PR_DESTINATION_PLACEMENT_OFFSET = 79; + int PR_DIRECTION = 80; + int PR_DISPLAY_ALIGN = 81; + int PR_DOMINANT_BASELINE = 82; + int PR_ELEVATION = 83; + int PR_EMPTY_CELLS = 84; + int PR_END_INDENT = 85; + int PR_ENDS_ROW = 86; + int PR_EXTENT = 87; + int PR_EXTERNAL_DESTINATION = 88; + int PR_FLOAT = 89; + int PR_FLOW_NAME = 90; + int PR_FONT = 91; + int PR_FONT_FAMILY = 92; + int PR_FONT_SELECTION_STRATEGY = 93; + int PR_FONT_SIZE = 94; + int PR_FONT_SIZE_ADJUST = 95; + int PR_FONT_STRETCH = 96; + int PR_FONT_STYLE = 97; + int PR_FONT_VARIANT = 98; + int PR_FONT_WEIGHT = 99; + int PR_FORCE_PAGE_COUNT = 100; + int PR_FORMAT = 101; + int PR_GLYPH_ORIENTATION_HORIZONTAL = 102; + int PR_GLYPH_ORIENTATION_VERTICAL = 103; + int PR_GROUPING_SEPARATOR = 104; + int PR_GROUPING_SIZE = 105; + int PR_HEIGHT = 106; + int PR_HYPHENATE = 107; + int PR_HYPHENATION_CHARACTER = 108; + int PR_HYPHENATION_KEEP = 109; + int PR_HYPHENATION_LADDER_COUNT = 110; + int PR_HYPHENATION_PUSH_CHARACTER_COUNT = 111; + int PR_HYPHENATION_REMAIN_CHARACTER_COUNT = 112; + int PR_ID = 113; + int PR_INDICATE_DESTINATION = 114; + int PR_INITIAL_PAGE_NUMBER = 115; + int PR_INLINE_PROGRESSION_DIMENSION = 116; + int PR_INTERNAL_DESTINATION = 117; + int PR_KEEP_TOGETHER = 118; + int PR_KEEP_WITH_NEXT = 119; + int PR_KEEP_WITH_PREVIOUS = 120; + int PR_LANGUAGE = 121; + int PR_LAST_LINE_END_INDENT = 122; + int PR_LEADER_ALIGNMENT = 123; + int PR_LEADER_LENGTH = 124; + int PR_LEADER_PATTERN = 125; + int PR_LEADER_PATTERN_WIDTH = 126; + int PR_LEFT = 127; + int PR_LETTER_SPACING = 128; + int PR_LETTER_VALUE = 129; + int PR_LINEFEED_TREATMENT = 130; + int PR_LINE_HEIGHT = 131; + int PR_LINE_HEIGHT_SHIFT_ADJUSTMENT = 132; + int PR_LINE_STACKING_STRATEGY = 133; + int PR_MARGIN = 134; + int PR_MARGIN_BOTTOM = 135; + int PR_MARGIN_LEFT = 136; + int PR_MARGIN_RIGHT = 137; + int PR_MARGIN_TOP = 138; + int PR_MARKER_CLASS_NAME = 139; + int PR_MASTER_NAME = 140; + int PR_MASTER_REFERENCE = 141; + int PR_MAX_HEIGHT = 142; + int PR_MAXIMUM_REPEATS = 143; + int PR_MAX_WIDTH = 144; + int PR_MEDIA_USAGE = 145; + int PR_MIN_HEIGHT = 146; + int PR_MIN_WIDTH = 147; + int PR_NUMBER_COLUMNS_REPEATED = 148; + int PR_NUMBER_COLUMNS_SPANNED = 149; + int PR_NUMBER_ROWS_SPANNED = 150; + int PR_ODD_OR_EVEN = 151; + int PR_ORPHANS = 152; + int PR_OVERFLOW = 153; + int PR_PADDING = 154; + int PR_PADDING_AFTER = 155; + int PR_PADDING_BEFORE = 156; + int PR_PADDING_BOTTOM = 157; + int PR_PADDING_END = 158; + int PR_PADDING_LEFT = 159; + int PR_PADDING_RIGHT = 160; + int PR_PADDING_START = 161; + int PR_PADDING_TOP = 162; + int PR_PAGE_BREAK_AFTER = 163; + int PR_PAGE_BREAK_BEFORE = 164; + int PR_PAGE_BREAK_INSIDE = 165; + int PR_PAGE_HEIGHT = 166; + int PR_PAGE_POSITION = 167; + int PR_PAGE_WIDTH = 168; + int PR_PAUSE = 169; + int PR_PAUSE_AFTER = 170; + int PR_PAUSE_BEFORE = 171; + int PR_PITCH = 172; + int PR_PITCH_RANGE = 173; + int PR_PLAY_DURING = 174; + int PR_POSITION = 175; + int PR_PRECEDENCE = 176; + int PR_PROVISIONAL_DISTANCE_BETWEEN_STARTS = 177; + int PR_PROVISIONAL_LABEL_SEPARATION = 178; + int PR_REFERENCE_ORIENTATION = 179; + int PR_REF_ID = 180; + int PR_REGION_NAME = 181; + int PR_RELATIVE_ALIGN = 182; + int PR_RELATIVE_POSITION = 183; + int PR_RENDERING_INTENT = 184; + int PR_RETRIEVE_BOUNDARY = 185; + int PR_RETRIEVE_CLASS_NAME = 186; + int PR_RETRIEVE_POSITION = 187; + int PR_RICHNESS = 188; + int PR_RIGHT = 189; + int PR_ROLE = 190; + int PR_RULE_STYLE = 191; + int PR_RULE_THICKNESS = 192; + int PR_SCALING = 193; + int PR_SCALING_METHOD = 194; + int PR_SCORE_SPACES = 195; + int PR_SCRIPT = 196; + int PR_SHOW_DESTINATION = 197; + int PR_SIZE = 198; + int PR_SOURCE_DOCUMENT = 199; + int PR_SPACE_AFTER = 200; + int PR_SPACE_BEFORE = 201; + int PR_SPACE_END = 202; + int PR_SPACE_START = 203; + int PR_SPACE_TREATMENT = 204; + int PR_SPAN = 205; + int PR_SPEAK = 206; + int PR_SPEAK_HEADER = 207; + int PR_SPEAK_NUMERAL = 208; + int PR_SPEAK_PUNCTUATION = 209; + int PR_SPEECH_RATE = 210; + int PR_SRC = 211; + int PR_START_INDENT = 212; + int PR_STARTING_STATE = 213; + int PR_STARTS_ROW = 214; + int PR_STRESS = 215; + int PR_SUPPRESS_AT_LINE_BREAK = 216; + int PR_SWITCH_TO = 217; + int PR_TABLE_LAYOUT = 218; + int PR_TABLE_OMIT_FOOTER_AT_BREAK = 219; + int PR_TABLE_OMIT_HEADER_AT_BREAK = 220; + int PR_TARGET_PRESENTATION_CONTEXT = 221; + int PR_TARGET_PROCESSING_CONTEXT = 222; + int PR_TARGET_STYLESHEET = 223; + int PR_TEXT_ALIGN = 224; + int PR_TEXT_ALIGN_LAST = 225; + int PR_TEXT_ALTITUDE = 226; + int PR_TEXT_DECORATION = 227; + int PR_TEXT_DEPTH = 228; + int PR_TEXT_INDENT = 229; + int PR_TEXT_SHADOW = 230; + int PR_TEXT_TRANSFORM = 231; + int PR_TOP = 232; + int PR_TREAT_AS_WORD_SPACE = 233; + int PR_UNICODE_BIDI = 234; + int PR_VERTICAL_ALIGN = 235; + int PR_VISIBILITY = 236; + int PR_VOICE_FAMILY = 237; + int PR_VOLUME = 238; + int PR_WHITE_SPACE_COLLAPSE = 239; + int PR_WHITE_SPACE_TREATMENT = 240; + int PR_WIDOWS = 241; + int PR_WIDTH = 242; + int PR_WORD_SPACING = 243; + int PR_WRAP_OPTION = 244; + int PR_WRITING_MODE = 245; + int PR_XML_LANG = 246; + int PR_Z_INDEX = 247; + int PROPERTY_COUNT = 247; + + // compound property constants + int CP_BLOCK_PROGRESSION_DIRECTION = 1 << COMPOUND_SHIFT; + int CP_CONDITIONALITY = 2 << COMPOUND_SHIFT; + int CP_INLINE_PROGRESSION_DIRECTION = 3 << COMPOUND_SHIFT; + int CP_LENGTH = 4 << COMPOUND_SHIFT; + int CP_MAXIMUM = 5 << COMPOUND_SHIFT; + int CP_MINIMUM = 6 << COMPOUND_SHIFT; + int CP_OPTIMUM = 7 << COMPOUND_SHIFT; + int CP_PRECEDENCE = 8 << COMPOUND_SHIFT; + int CP_WITHIN_COLUMN = 9 << COMPOUND_SHIFT; + int CP_WITHIN_LINE = 10 << COMPOUND_SHIFT; + int CP_WITHIN_PAGE = 11 << COMPOUND_SHIFT; + + // Enumeration constants + int ABSOLUTE = 1; + int ABSOLUTE_COLORMETRIC = 2; + int AFTER = 3; + int ALL = 4; + int ALPHABETIC = 5; + int ALWAYS = 6; + int ANY = 7; + int AUTO = 8; + int BASELINE = 9; + int BEFORE = 10; + int BLANK = 11; + int BLINK = 12; + int BOTTOM = 13; + int CAPITALIZE = 14; + int CENTER = 15; + int COLLAPSE = 16; + int COLUMN = 17; + int DASHED = 18; + int DISCARD = 19; + int DOCUMENT = 20; + int DOTS = 21; + int DOTTED = 22; + int DOUBLE = 23; + int END = 24; + int END_ON_EVEN = 25; + int END_ON_ODD = 26; + int ERROR_IF_OVERFLOW = 27; + int EVEN = 28; + int EVEN_PAGE = 29; + int FALSE = 30; + int FIC = 31; + int FIRST = 32; + int FIXED = 33; + int FORCE = 34; + int FSWP = 35; + int GROOVE = 36; + int HIDDEN = 37; + int IGNORE = 38; + int IGNORE_IF_AFTER_LINEFEED = 39; + int IGNORE_IF_BEFORE_LINEFEED = 40; + int IGNORE_IF_SURROUNDING_LINEFEED = 41; + int INSET = 42; + int JUSTIFY = 43; + int LAST = 44; + int LEFT = 45; + int LEWP = 46; + int LINE_THROUGH = 47; + int LOWERCASE = 48; + int LR_TB = 49; + int LSWP = 50; + int MIDDLE = 51; + int NO_BLINK = 52; + int NO_FORCE = 53; + int NO_LINE_THROUGH = 54; + int NO_OVERLINE = 55; + int NO_UNDERLINE = 56; + int NO_WRAP = 57; + int NON_UNIFORM = 58; + int NONE = 59; + int NOREPEAT = 60; + int NORMAL = 61; + int NOT_BLANK = 62; + int ODD = 63; + int ODD_PAGE = 64; + int OUTSET = 65; + int OVERLINE = 66; + int PAGE = 67; + int PAGE_SEQUENCE = 68; + int PERCEPTUAL = 69; + int PRESERVE = 70; + int REFERENCE_AREA = 71; + int RELATIVE = 72; + int RELATIVE_COLOMETRIC = 73; + int REPEAT = 74; + int REPEATX = 75; + int REPEATY = 76; + int REST = 77; + int RETAIN = 78; + int RIDGE = 79; + int RIGHT = 80; + int RL_TB = 81; + int RULE = 82; + int SATURATION = 83; + int SCROLL = 84; + int SEPARATE = 85; + int SMALL_CAPS = 86; + int SOLID = 87; + int SPACE = 88; + int START = 89; + int STATIC = 90; + int SUB = 91; + int SUPER = 92; + int TB_RL = 93; + int TEXT_BOTTOM = 94; + int TEXT_TOP = 95; + int TOP = 96; + int TRADITIONAL = 97; + int TREAT_AS_SPACE = 98; + int TREAT_AS_ZERO_WIDTH_SPACE = 99; + int TRUE = 100; + int UNDERLINE = 101; + int UNIFORM = 102; + int UPPERCASE = 103; + int USECONTENT = 104; + int VISIBLE = 105; + int WRAP = 106; + +} |