[FOray-commit] SF.net SVN: foray:[12856] trunk/foray
Modular XSL-FO Implementation for Java.
Status: Alpha
Brought to you by:
victormote
|
From: <vic...@us...> - 2022-12-14 04:58:46
|
Revision: 12856
http://sourceforge.net/p/foray/code/12856
Author: victormote
Date: 2022-12-14 04:58:43 +0000 (Wed, 14 Dec 2022)
Log Message:
-----------
Remove more dependencies on getPrimaryFont().
Modified Paths:
--------------
trunk/foray/foray-content/src/main/java/org/foray/content/CharContent4a.java
trunk/foray/foray-content/src/main/java/org/foray/content/Content4a.java
trunk/foray/foray-content/src/main/java/org/foray/content/ContentTree4a.java
trunk/foray/foray-content/src/main/java/org/foray/content/IndivisibleContent4a.java
trunk/foray/foray-content/src/main/java/org/foray/content/LeaderContent.java
trunk/foray/foray-content/src/main/java/org/foray/content/PageReferenceContent.java
trunk/foray/foray-content/src/main/java/org/foray/content/ScalableContent.java
trunk/foray/foray-content/src/main/java/org/foray/content/TextContent4a.java
trunk/foray/foray-content/src/main/java/org/foray/content/TextTokensContent4a.java
trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/ExternalGraphicPnr.java
trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/FoNodePnr.java
trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/FoTextWordsPnr.java
trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/InstreamForeignObjectPnr.java
trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/LeaderPnr.java
trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/PageNumberCitationPnr.java
trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/PageNumberPnr.java
trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/PioneerLayoutStrategy.java
Modified: trunk/foray/foray-content/src/main/java/org/foray/content/CharContent4a.java
===================================================================
--- trunk/foray/foray-content/src/main/java/org/foray/content/CharContent4a.java 2022-12-14 04:26:20 UTC (rev 12855)
+++ trunk/foray/foray-content/src/main/java/org/foray/content/CharContent4a.java 2022-12-14 04:58:43 UTC (rev 12856)
@@ -30,6 +30,7 @@
import org.axsl.area.LineArea;
import org.axsl.content.CharContent;
+import org.axsl.font.FontUse;
import org.axsl.fotree.FoContext;
import org.axsl.fotree.fo.FoTextCharacters;
import org.axsl.kp.KpLeafIterator;
@@ -46,10 +47,11 @@
/**
* Constructor.
* @param content The wrapped content.
+ * @param fontUse The font.
* @param context The FO context for this content.
*/
- public CharContent4a(final FoTextCharacters content, final FoContext context) {
- super(context);
+ public CharContent4a(final FoTextCharacters content, final FontUse fontUse, final FoContext context) {
+ super(context, fontUse);
this.content = content;
}
Modified: trunk/foray/foray-content/src/main/java/org/foray/content/Content4a.java
===================================================================
--- trunk/foray/foray-content/src/main/java/org/foray/content/Content4a.java 2022-12-14 04:26:20 UTC (rev 12855)
+++ trunk/foray/foray-content/src/main/java/org/foray/content/Content4a.java 2022-12-14 04:58:43 UTC (rev 12856)
@@ -30,6 +30,7 @@
import org.axsl.area.LineArea;
import org.axsl.content.Content;
+import org.axsl.font.FontUse;
import org.axsl.fotree.FoContext;
import org.axsl.kp.KpLeafIterator;
@@ -41,12 +42,17 @@
/** The FO context for this content. */
private FoContext context;
+ /** The font. */
+ private FontUse fontUse;
+
/**
* Constructor.
* @param context The FO context for this content.
+ * @param fontUse The font.
*/
- public Content4a(final FoContext context) {
+ public Content4a(final FoContext context, final FontUse fontUse) {
this.context = context;
+ this.fontUse = fontUse;
}
/**
@@ -58,6 +64,14 @@
}
/**
+ * Returns the font for this content.
+ * @return The font for this content.
+ */
+ public FontUse getFontUse() {
+ return this.fontUse;
+ }
+
+ /**
* Add this content, or part of it, to a given line.
* @param lineArea The line to which this content item should be added.
* @param iterator The iterator over the paragraph content.
Modified: trunk/foray/foray-content/src/main/java/org/foray/content/ContentTree4a.java
===================================================================
--- trunk/foray/foray-content/src/main/java/org/foray/content/ContentTree4a.java 2022-12-14 04:26:20 UTC (rev 12855)
+++ trunk/foray/foray-content/src/main/java/org/foray/content/ContentTree4a.java 2022-12-14 04:58:43 UTC (rev 12856)
@@ -34,6 +34,7 @@
import org.axsl.area.NormalBlockArea;
import org.axsl.content.Content;
import org.axsl.content.ContentTree;
+import org.axsl.font.FontUse;
import org.axsl.fotree.Fo;
import org.axsl.fotree.fo.BasicLink;
import org.axsl.fotree.fo.Block;
@@ -82,7 +83,7 @@
private void processChildren(final Fo fo, final Area context) {
for (int index = 0; index < fo.qtyFormattingObjectChildren(); index ++) {
final Fo child = fo.formattingObjectChildAt(index);
- processChild(child, context);
+ processChild(child, context.traitNominalFont(), context);
}
}
@@ -89,21 +90,22 @@
/**
* Processes an {@link Fo} either by wrapping it and adding it to the content, or by traversing its children.
* @param fo The {@link Fo} to be processed.
+ * @param fontUse The font.
* @param context The area-tree context for {@code fo} and descendants.
*/
- private void processChild(final Fo fo, final Area context) {
+ private void processChild(final Fo fo, final FontUse fontUse, final Area context) {
if (fo instanceof FoTextWords) {
final FoTextWords foTextWords = (FoTextWords) fo;
- final TextTokensContent4a tokensContent = new TextTokensContent4a(foTextWords, null);
+ final TextTokensContent4a tokensContent = new TextTokensContent4a(foTextWords, fontUse, null);
this.children.add(tokensContent);
return;
} else if (fo instanceof ExternalGraphic) {
final ExternalGraphic externalGraphic = (ExternalGraphic) fo;
- this.children.add(new ScalableContent(externalGraphic, context));
+ this.children.add(new ScalableContent(externalGraphic, fontUse, context));
return;
} else if (fo instanceof InstreamForeignObject) {
final InstreamForeignObject instreamForeign = (InstreamForeignObject) fo;
- this.children.add(new ScalableContent(instreamForeign, context));
+ this.children.add(new ScalableContent(instreamForeign, fontUse, context));
return;
} else if (fo instanceof Inline) {
return;
@@ -123,7 +125,7 @@
return;
} else if (fo instanceof PageNumber) {
final PageNumber pageNumber = (PageNumber) fo;
- this.children.add(new PageReferenceContent(pageNumber, context));
+ this.children.add(new PageReferenceContent(pageNumber, fontUse, context));
return;
}
throw new IllegalStateException("Don't know how to create content for: " + fo.getClass().getName());
Modified: trunk/foray/foray-content/src/main/java/org/foray/content/IndivisibleContent4a.java
===================================================================
--- trunk/foray/foray-content/src/main/java/org/foray/content/IndivisibleContent4a.java 2022-12-14 04:26:20 UTC (rev 12855)
+++ trunk/foray/foray-content/src/main/java/org/foray/content/IndivisibleContent4a.java 2022-12-14 04:58:43 UTC (rev 12856)
@@ -29,6 +29,7 @@
package org.foray.content;
import org.axsl.content.IndivisibleContent;
+import org.axsl.font.FontUse;
import org.axsl.fotree.FoContext;
import org.axsl.kp.KpContext;
import org.axsl.kp.KpLeaf;
@@ -41,9 +42,10 @@
/**
* Constructor.
* @param context The FO context for this content.
+ * @param fontUse The font.
*/
- public IndivisibleContent4a(final FoContext context) {
- super(context);
+ public IndivisibleContent4a(final FoContext context, final FontUse fontUse) {
+ super(context, fontUse);
}
@Override
Modified: trunk/foray/foray-content/src/main/java/org/foray/content/LeaderContent.java
===================================================================
--- trunk/foray/foray-content/src/main/java/org/foray/content/LeaderContent.java 2022-12-14 04:26:20 UTC (rev 12855)
+++ trunk/foray/foray-content/src/main/java/org/foray/content/LeaderContent.java 2022-12-14 04:58:43 UTC (rev 12856)
@@ -30,6 +30,7 @@
import org.axsl.area.LineArea;
import org.axsl.content.IndivisibleContent;
+import org.axsl.font.FontUse;
import org.axsl.fotree.FoContext;
import org.axsl.fotree.fo.Leader;
import org.axsl.kp.KpLeafIterator;
@@ -46,9 +47,10 @@
* Constructor.
* @param content The wrapped content.
* @param context The FO context for this content.
+ * @param fontUse The font.
*/
- public LeaderContent(final Leader content, final FoContext context) {
- super(context);
+ public LeaderContent(final Leader content, final FontUse fontUse, final FoContext context) {
+ super(context, fontUse);
this.content = content;
}
Modified: trunk/foray/foray-content/src/main/java/org/foray/content/PageReferenceContent.java
===================================================================
--- trunk/foray/foray-content/src/main/java/org/foray/content/PageReferenceContent.java 2022-12-14 04:26:20 UTC (rev 12855)
+++ trunk/foray/foray-content/src/main/java/org/foray/content/PageReferenceContent.java 2022-12-14 04:58:43 UTC (rev 12856)
@@ -51,10 +51,11 @@
/**
* Constructor.
* @param content The wrapped content.
+ * @param fontUse The font.
* @param context The FO context for this content.
*/
- public PageReferenceContent(final CommonFontPa content, final FoContext context) {
- super(context);
+ public PageReferenceContent(final CommonFontPa content, final FontUse fontUse, final FoContext context) {
+ super(context, fontUse);
this.content = content;
}
@@ -67,9 +68,8 @@
public int inlineSizeOptimum(final int lineLength) {
/* TODO: Fix this method after we add the context to this class. */
final CommonFontPa asText = (CommonFontPa) this.content;
- final FontUse fontUse = asText.getPrimaryFont(null);
final int fontSize = asText.traitFontSize(null);
- final int zeroWidth = fontUse.width('0', fontSize);
+ final int zeroWidth = getFontUse().width('0', fontSize);
// This is an estimate for purposes of layout.
return zeroWidth * QTY_PLACEHOLDER_DIGITS;
}
Modified: trunk/foray/foray-content/src/main/java/org/foray/content/ScalableContent.java
===================================================================
--- trunk/foray/foray-content/src/main/java/org/foray/content/ScalableContent.java 2022-12-14 04:26:20 UTC (rev 12855)
+++ trunk/foray/foray-content/src/main/java/org/foray/content/ScalableContent.java 2022-12-14 04:58:43 UTC (rev 12856)
@@ -30,6 +30,7 @@
import org.axsl.area.LineArea;
import org.axsl.content.IndivisibleContent;
+import org.axsl.font.FontUse;
import org.axsl.fotree.FoContext;
import org.axsl.fotree.FoScalable;
import org.axsl.fotree.fo.ExternalGraphic;
@@ -47,9 +48,10 @@
* Constructor.
* @param content The wrapped content.
* @param context The FO context for this content.
+ * @param fontUse The font.
*/
- public ScalableContent(final FoScalable content, final FoContext context) {
- super(context);
+ public ScalableContent(final FoScalable content, final FontUse fontUse, final FoContext context) {
+ super(context, fontUse);
this.content = content;
}
Modified: trunk/foray/foray-content/src/main/java/org/foray/content/TextContent4a.java
===================================================================
--- trunk/foray/foray-content/src/main/java/org/foray/content/TextContent4a.java 2022-12-14 04:26:20 UTC (rev 12855)
+++ trunk/foray/foray-content/src/main/java/org/foray/content/TextContent4a.java 2022-12-14 04:58:43 UTC (rev 12856)
@@ -49,9 +49,10 @@
/**
* Constructor.
* @param context The FO context.
+ * @param fontUse The font.
*/
- public TextContent4a(final FoContext context) {
- super(context);
+ public TextContent4a(final FoContext context, final FontUse fontUse) {
+ super(context, fontUse);
}
/**
@@ -66,7 +67,7 @@
@Override
public FontUse inlinePrimaryFont() {
- return effectiveParent().getPrimaryFont(getContext());
+ return getFontUse();
}
@Override
@@ -134,8 +135,7 @@
* Right now we rely on the user to configure the font correctly to avoid this. */
/* Has the font been configured to simulate small-caps? */
- final FontUse fontUse = effectiveParent().getPrimaryFont(getContext());
- if (fontUse.simulateSmallCaps() == FontServer.SMALL_CAP_SIMULATION_INVALID) {
+ if (getFontUse().simulateSmallCaps() == FontServer.SMALL_CAP_SIMULATION_INVALID) {
return false;
}
return true;
Modified: trunk/foray/foray-content/src/main/java/org/foray/content/TextTokensContent4a.java
===================================================================
--- trunk/foray/foray-content/src/main/java/org/foray/content/TextTokensContent4a.java 2022-12-14 04:26:20 UTC (rev 12855)
+++ trunk/foray/foray-content/src/main/java/org/foray/content/TextTokensContent4a.java 2022-12-14 04:58:43 UTC (rev 12856)
@@ -56,9 +56,10 @@
* Constructor.
* @param content The wrapped content.
* @param context The FO context.
+ * @param fontUse The font.
*/
- public TextTokensContent4a(final FoTextWords content, final FoContext context) {
- super(context);
+ public TextTokensContent4a(final FoTextWords content, final FontUse fontUse, final FoContext context) {
+ super(context, fontUse);
this.content = content;
}
@@ -116,12 +117,11 @@
@Override
public int getIdealWidth(final KpLeaf leaf) {
- final FontUse fontUse = this.content.getPrimaryFont(getContext());
final int fontSize = this.content.traitFontSize(getContext());
final Orthography orthography = this.content.getOrthography();
if (leaf instanceof CharSequence) {
final CharSequence chars = (CharSequence) leaf;
- return fontUse.width(chars, fontSize, FontContext4a.DEFAULT, orthography);
+ return getFontUse().width(chars, fontSize, FontContext4a.DEFAULT, orthography);
}
return 0;
}
Modified: trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/ExternalGraphicPnr.java
===================================================================
--- trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/ExternalGraphicPnr.java 2022-12-14 04:26:20 UTC (rev 12855)
+++ trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/ExternalGraphicPnr.java 2022-12-14 04:58:43 UTC (rev 12856)
@@ -77,7 +77,7 @@
// Not enough room on the page for this.
return Status.AREA_FULL_NONE;
}
- return addNonTextContent(lineArea, new ScalableContent(this.realFONode, lineArea));
+ return addNonTextContent(lineArea, new ScalableContent(this.realFONode, lineArea.traitNominalFont(), lineArea));
}
@Override
Modified: trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/FoNodePnr.java
===================================================================
--- trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/FoNodePnr.java 2022-12-14 04:26:20 UTC (rev 12855)
+++ trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/FoNodePnr.java 2022-12-14 04:58:43 UTC (rev 12856)
@@ -202,7 +202,7 @@
}
int status = 0;
try {
- final CharContent4a charContent = new CharContent4a(lineText, lineArea);
+ final CharContent4a charContent = new CharContent4a(lineText, lineArea.traitNominalFont(), lineArea);
status = lb.processLineContent(charContent, foContext, start, end, lineArea);
} catch (final TextException e) {
final Fo generatedBy = lineArea.traitGeneratedBy();
Modified: trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/FoTextWordsPnr.java
===================================================================
--- trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/FoTextWordsPnr.java 2022-12-14 04:26:20 UTC (rev 12855)
+++ trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/FoTextWordsPnr.java 2022-12-14 04:58:43 UTC (rev 12856)
@@ -90,7 +90,7 @@
if (this.result == null) {
final LineBreaker lb = getLayout().getLineBreaker();
- this.content = new TextTokensContent4a(this.node, normalBlockArea);
+ this.content = new TextTokensContent4a(this.node, normalBlockArea.traitNominalFont(), normalBlockArea);
this.result = lb.breakIntoLines(content, paraContext, normalBlockArea);
}
Modified: trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/InstreamForeignObjectPnr.java
===================================================================
--- trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/InstreamForeignObjectPnr.java 2022-12-14 04:26:20 UTC (rev 12855)
+++ trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/InstreamForeignObjectPnr.java 2022-12-14 04:58:43 UTC (rev 12856)
@@ -61,7 +61,7 @@
// Not enough room on the page for this.
return Status.AREA_FULL_NONE;
}
- return addNonTextContent(lineArea, new ScalableContent(this.node, lineArea));
+ return addNonTextContent(lineArea, new ScalableContent(this.node, lineArea.traitNominalFont(), lineArea));
}
@Override
Modified: trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/LeaderPnr.java
===================================================================
--- trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/LeaderPnr.java 2022-12-14 04:26:20 UTC (rev 12855)
+++ trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/LeaderPnr.java 2022-12-14 04:58:43 UTC (rev 12856)
@@ -60,7 +60,7 @@
// Not enough room on the page for this.
return Status.AREA_FULL_NONE;
}
- return addNonTextContent(lineArea, new LeaderContent(this.node, lineArea));
+ return addNonTextContent(lineArea, new LeaderContent(this.node, lineArea.traitNominalFont(), lineArea));
}
@Override
Modified: trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/PageNumberCitationPnr.java
===================================================================
--- trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/PageNumberCitationPnr.java 2022-12-14 04:26:20 UTC (rev 12855)
+++ trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/PageNumberCitationPnr.java 2022-12-14 04:58:43 UTC (rev 12856)
@@ -61,7 +61,7 @@
// Not enough room on the page for this.
return Status.AREA_FULL_NONE;
}
- return addNonTextContent(lineArea, new PageReferenceContent(this.node, lineArea));
+ return addNonTextContent(lineArea, new PageReferenceContent(this.node, lineArea.traitNominalFont(), lineArea));
}
@Override
Modified: trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/PageNumberPnr.java
===================================================================
--- trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/PageNumberPnr.java 2022-12-14 04:26:20 UTC (rev 12855)
+++ trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/PageNumberPnr.java 2022-12-14 04:58:43 UTC (rev 12856)
@@ -60,7 +60,7 @@
// Not enough room on the page for this.
return Status.AREA_FULL_NONE;
}
- return addNonTextContent(lineArea, new PageReferenceContent(this.node, lineArea));
+ return addNonTextContent(lineArea, new PageReferenceContent(this.node, lineArea.traitNominalFont(), lineArea));
}
@Override
Modified: trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/PioneerLayoutStrategy.java
===================================================================
--- trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/PioneerLayoutStrategy.java 2022-12-14 04:26:20 UTC (rev 12855)
+++ trunk/foray/foray-pioneer/src/main/java/org/foray/pioneer/PioneerLayoutStrategy.java 2022-12-14 04:58:43 UTC (rev 12856)
@@ -747,7 +747,7 @@
CharContent textToUse = text;
if (textToUse instanceof FoTextCharacters) {
final FoTextCharacters foLineText = (FoTextCharacters) textToUse;
- textToUse = new CharContent4a(foLineText, lineArea);
+ textToUse = new CharContent4a(foLineText, lineArea.traitNominalFont(), lineArea);
}
LineContentFactory factory = lineArea;
if (getAreaStack().size() > 0) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|