Author: onealj
Date: Tue Mar 22 02:31:16 2016
New Revision: 1736121
URL: http://svn.apache.org/viewvc?rev=1736121&view=rev
Log:
fix inconsistent newlines (remove carriage returns), set svnprop eol-style
native
Modified:
poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFRun.java
(contents, props changed)
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFRun.java
URL:
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFRun.java?rev=1736121&r1=1736120&r2=1736121&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFRun.java
(original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFRun.java Tue Mar
22 02:31:16 2016
@@ -84,7 +84,7 @@ import org.w3c.dom.NodeList;
import org.w3c.dom.Text;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
-
+
/**
* XWPFRun object defines a region of text with a common set of properties
*/
@@ -92,12 +92,12 @@ public class XWPFRun implements ISDTCont
private CTR run;
private String pictureText;
private IRunBody parent;
- private List<XWPFPicture> pictures;
-
- /**
- * @param r the CTR bean which holds the run attributes
- * @param p the parent paragraph
- */
+ private List<XWPFPicture> pictures;
+
+ /**
+ * @param r the CTR bean which holds the run attributes
+ * @param p the parent paragraph
+ */
public XWPFRun(CTR r, IRunBody p) {
this.run = r;
this.parent = p;
@@ -121,13 +121,13 @@ public class XWPFRun implements ISDTCont
// Look for any text in any of our pictures or drawings
StringBuilder text = new StringBuilder();
- List<XmlObject> pictTextObjs = new ArrayList<XmlObject>();
- pictTextObjs.addAll(Arrays.asList(r.getPictArray()));
- pictTextObjs.addAll(Arrays.asList(r.getDrawingArray()));
- for (XmlObject o : pictTextObjs) {
- XmlObject[] ts = o.selectPath("declare namespace
w='http://schemas.openxmlformats.org/wordprocessingml/2006/main' .//w:t");
- for (XmlObject t : ts) {
- NodeList kids = t.getDomNode().getChildNodes();
+ List<XmlObject> pictTextObjs = new ArrayList<XmlObject>();
+ pictTextObjs.addAll(Arrays.asList(r.getPictArray()));
+ pictTextObjs.addAll(Arrays.asList(r.getDrawingArray()));
+ for (XmlObject o : pictTextObjs) {
+ XmlObject[] ts = o.selectPath("declare namespace
w='http://schemas.openxmlformats.org/wordprocessingml/2006/main' .//w:t");
+ for (XmlObject t : ts) {
+ NodeList kids = t.getDomNode().getChildNodes();
for (int n = 0; n < kids.getLength(); n++) {
if (kids.item(n) instanceof Text) {
if (text.length() > 0)
@@ -139,134 +139,134 @@ public class XWPFRun implements ISDTCont
}
pictureText = text.toString();
- // Do we have any embedded pictures?
- // (They're a different CTPicture, under the drawingml namespace)
- pictures = new ArrayList<XWPFPicture>();
- for (XmlObject o : pictTextObjs) {
- for (CTPicture pict : getCTPictures(o)) {
- XWPFPicture picture = new XWPFPicture(pict, this);
- pictures.add(picture);
- }
- }
- }
-
- ;
-
- /**
- * @deprecated Use {@link XWPFRun#XWPFRun(CTR, IRunBody)}
- */
- public XWPFRun(CTR r, XWPFParagraph p) {
- this(r, (IRunBody) p);
- }
-
- /**
- * Add the xml:spaces="preserve" attribute if the string has leading or
trailing white spaces
- *
- * @param xs the string to check
- */
- static void preserveSpaces(XmlString xs) {
- String text = xs.getStringValue();
- if (text != null && (text.startsWith(" ") || text.endsWith(" "))) {
- XmlCursor c = xs.newCursor();
- c.toNextToken();
- c.insertAttributeWithValue(new
QName("http://www.w3.org/XML/1998/namespace", "space"), "preserve");
- c.dispose();
- }
- }
-
- private List<CTPicture> getCTPictures(XmlObject o) {
- List<CTPicture> pics = new ArrayList<CTPicture>();
- XmlObject[] picts = o.selectPath("declare namespace pic='" +
CTPicture.type.getName().getNamespaceURI() + "' .//pic:pic");
- for (XmlObject pict : picts) {
- if (pict instanceof XmlAnyTypeImpl) {
- // Pesky XmlBeans bug - see Bugzilla #49934
- try {
- pict = CTPicture.Factory.parse(pict.toString(),
DEFAULT_XML_OPTIONS);
- } catch (XmlException e) {
- throw new POIXMLException(e);
- }
- }
- if (pict instanceof CTPicture) {
- pics.add((CTPicture) pict);
- }
- }
- return pics;
- }
-
- /**
- * Get the currently used CTR object
- *
- * @return ctr object
- */
- @Internal
+ // Do we have any embedded pictures?
+ // (They're a different CTPicture, under the drawingml namespace)
+ pictures = new ArrayList<XWPFPicture>();
+ for (XmlObject o : pictTextObjs) {
+ for (CTPicture pict : getCTPictures(o)) {
+ XWPFPicture picture = new XWPFPicture(pict, this);
+ pictures.add(picture);
+ }
+ }
+ }
+
+ ;
+
+ /**
+ * @deprecated Use {@link XWPFRun#XWPFRun(CTR, IRunBody)}
+ */
+ public XWPFRun(CTR r, XWPFParagraph p) {
+ this(r, (IRunBody) p);
+ }
+
+ /**
+ * Add the xml:spaces="preserve" attribute if the string has leading or
trailing white spaces
+ *
+ * @param xs the string to check
+ */
+ static void preserveSpaces(XmlString xs) {
+ String text = xs.getStringValue();
+ if (text != null && (text.startsWith(" ") || text.endsWith(" "))) {
+ XmlCursor c = xs.newCursor();
+ c.toNextToken();
+ c.insertAttributeWithValue(new
QName("http://www.w3.org/XML/1998/namespace", "space"), "preserve");
+ c.dispose();
+ }
+ }
+
+ private List<CTPicture> getCTPictures(XmlObject o) {
+ List<CTPicture> pics = new ArrayList<CTPicture>();
+ XmlObject[] picts = o.selectPath("declare namespace pic='" +
CTPicture.type.getName().getNamespaceURI() + "' .//pic:pic");
+ for (XmlObject pict : picts) {
+ if (pict instanceof XmlAnyTypeImpl) {
+ // Pesky XmlBeans bug - see Bugzilla #49934
+ try {
+ pict = CTPicture.Factory.parse(pict.toString(),
DEFAULT_XML_OPTIONS);
+ } catch (XmlException e) {
+ throw new POIXMLException(e);
+ }
+ }
+ if (pict instanceof CTPicture) {
+ pics.add((CTPicture) pict);
+ }
+ }
+ return pics;
+ }
+
+ /**
+ * Get the currently used CTR object
+ *
+ * @return ctr object
+ */
+ @Internal
public CTR getCTR() {
return run;
}
-
- /**
- * Get the currently referenced paragraph/SDT object
- *
- * @return current parent
- */
- public IRunBody getParent() {
- return parent;
- }
-
- /**
- * Get the currently referenced paragraph, or null if a SDT object
- *
- * @deprecated use {@link XWPFRun#getParent()} instead
- */
- public XWPFParagraph getParagraph() {
- if (parent instanceof XWPFParagraph)
- return (XWPFParagraph) parent;
- return null;
- }
-
- /**
- * @return The {@link XWPFDocument} instance, this run belongs to, or
- * <code>null</code> if parent structure (paragraph > document) is not
properly set.
- */
- public XWPFDocument getDocument() {
- if (parent != null) {
+
+ /**
+ * Get the currently referenced paragraph/SDT object
+ *
+ * @return current parent
+ */
+ public IRunBody getParent() {
+ return parent;
+ }
+
+ /**
+ * Get the currently referenced paragraph, or null if a SDT object
+ *
+ * @deprecated use {@link XWPFRun#getParent()} instead
+ */
+ public XWPFParagraph getParagraph() {
+ if (parent instanceof XWPFParagraph)
+ return (XWPFParagraph) parent;
+ return null;
+ }
+
+ /**
+ * @return The {@link XWPFDocument} instance, this run belongs to, or
+ * <code>null</code> if parent structure (paragraph > document) is not
properly set.
+ */
+ public XWPFDocument getDocument() {
+ if (parent != null) {
return parent.getDocument();
}
return null;
}
/**
- * For isBold, isItalic etc
- */
- private boolean isCTOnOff(CTOnOff onoff) {
- if (!onoff.isSetVal())
- return true;
- if (onoff.getVal() == STOnOff.ON)
- return true;
- if (onoff.getVal() == STOnOff.TRUE)
- return true;
- return false;
- }
+ * For isBold, isItalic etc
+ */
+ private boolean isCTOnOff(CTOnOff onoff) {
+ if (!onoff.isSetVal())
+ return true;
+ if (onoff.getVal() == STOnOff.ON)
+ return true;
+ if (onoff.getVal() == STOnOff.TRUE)
+ return true;
+ return false;
+ }
/**
* Whether the bold property shall be applied to all non-complex script
* characters in the contents of this run when displayed in a document
*
* @return <code>true</code> if the bold property is applied
- */
- public boolean isBold() {
- CTRPr pr = run.getRPr();
- if (pr == null || !pr.isSetB()) {
- return false;
- }
- return isCTOnOff(pr.getB());
- }
-
- /**
- * Whether the bold property shall be applied to all non-complex script
- * characters in the contents of this run when displayed in a document.
- * <p>
- * This formatting property is a toggle property, which specifies that its
- * behavior differs between its use within a style definition and its use
as
+ */
+ public boolean isBold() {
+ CTRPr pr = run.getRPr();
+ if (pr == null || !pr.isSetB()) {
+ return false;
+ }
+ return isCTOnOff(pr.getB());
+ }
+
+ /**
+ * Whether the bold property shall be applied to all non-complex script
+ * characters in the contents of this run when displayed in a document.
+ * <p>
+ * This formatting property is a toggle property, which specifies that its
+ * behavior differs between its use within a style definition and its use
as
* direct formatting. When used as part of a style definition, setting this
* property shall toggle the current state of that property as specified up
* to this point in the hierarchy (i.e. applied to not applied, and vice
@@ -292,26 +292,26 @@ public class XWPFRun implements ISDTCont
}
/**
- * Get text color. The returned value is a string in the hex form "RRGGBB".
- */
- public String getColor() {
- String color = null;
- if (run.isSetRPr()) {
- CTRPr pr = run.getRPr();
- if (pr.isSetColor()) {
- CTColor clr = pr.getColor();
- color = clr.xgetVal().getStringValue();
- }
- }
- return color;
- }
-
- /**
- * Set text color.
- *
- * @param rgbStr - the desired color, in the hex form "RRGGBB".
- */
- public void setColor(String rgbStr) {
+ * Get text color. The returned value is a string in the hex form "RRGGBB".
+ */
+ public String getColor() {
+ String color = null;
+ if (run.isSetRPr()) {
+ CTRPr pr = run.getRPr();
+ if (pr.isSetColor()) {
+ CTColor clr = pr.getColor();
+ color = clr.xgetVal().getStringValue();
+ }
+ }
+ return color;
+ }
+
+ /**
+ * Set text color.
+ *
+ * @param rgbStr - the desired color, in the hex form "RRGGBB".
+ */
+ public void setColor(String rgbStr) {
CTRPr pr = run.isSetRPr() ? run.getRPr() : run.addNewRPr();
CTColor color = pr.isSetColor() ? pr.getColor() : pr.addNewColor();
color.setVal(rgbStr);
@@ -337,24 +337,24 @@ public class XWPFRun implements ISDTCont
/**
* Sets the text of this text run
*
- * @param value the literal text which shall be displayed in the document
- */
- public void setText(String value) {
- setText(value, run.sizeOfTArray());
- }
-
- /**
- * Sets the text of this text run in the
- *
- * @param value the literal text which shall be displayed in the document
- * @param pos - position in the text array (NB: 0 based)
- */
- public void setText(String value, int pos) {
- if (pos > run.sizeOfTArray())
- throw new ArrayIndexOutOfBoundsException("Value too large for the
parameter position in XWPFRun.setText(String value,int pos)");
- CTText t = (pos < run.sizeOfTArray() && pos >= 0) ? run.getTArray(pos)
: run.addNewT();
- t.setStringValue(value);
- preserveSpaces(t);
+ * @param value the literal text which shall be displayed in the document
+ */
+ public void setText(String value) {
+ setText(value, run.sizeOfTArray());
+ }
+
+ /**
+ * Sets the text of this text run in the
+ *
+ * @param value the literal text which shall be displayed in the document
+ * @param pos - position in the text array (NB: 0 based)
+ */
+ public void setText(String value, int pos) {
+ if (pos > run.sizeOfTArray())
+ throw new ArrayIndexOutOfBoundsException("Value too large for the
parameter position in XWPFRun.setText(String value,int pos)");
+ CTText t = (pos < run.sizeOfTArray() && pos >= 0) ? run.getTArray(pos)
: run.addNewT();
+ t.setStringValue(value);
+ preserveSpaces(t);
}
/**
@@ -362,13 +362,13 @@ public class XWPFRun implements ISDTCont
* characters in the contents of this run when displayed in a document.
*
* @return <code>true</code> if the italic property is applied
- */
- public boolean isItalic() {
- CTRPr pr = run.getRPr();
- if (pr == null || !pr.isSetI())
- return false;
- return isCTOnOff(pr.getI());
- }
+ */
+ public boolean isItalic() {
+ CTRPr pr = run.getRPr();
+ if (pr == null || !pr.isSetI())
+ return false;
+ return isCTOnOff(pr.getI());
+ }
/**
* Whether the bold property shall be applied to all non-complex script
@@ -407,14 +407,14 @@ public class XWPFRun implements ISDTCont
*
* @return the Underline pattern applyed to this run
* @see UnderlinePatterns
- */
- public UnderlinePatterns getUnderline() {
- CTRPr pr = run.getRPr();
- return (pr != null && pr.isSetU() && pr.getU().getVal() != null)
- ? UnderlinePatterns.valueOf(pr.getU().getVal().intValue())
- : UnderlinePatterns.NONE;
- }
-
+ */
+ public UnderlinePatterns getUnderline() {
+ CTRPr pr = run.getRPr();
+ return (pr != null && pr.isSetU() && pr.getU().getVal() != null)
+ ? UnderlinePatterns.valueOf(pr.getU().getVal().intValue())
+ : UnderlinePatterns.NONE;
+ }
+
/**
* Specifies that the contents of this run should be displayed along with
an
* underline appearing directly below the character heigh
@@ -441,16 +441,16 @@ public class XWPFRun implements ISDTCont
* horizontal line through the center of the line.
*
* @return <code>true</code> if the strike property is applied
- */
- public boolean isStrikeThrough() {
- CTRPr pr = run.getRPr();
- if (pr == null || !pr.isSetStrike())
- return false;
- return isCTOnOff(pr.getStrike());
- }
-
- /**
- * Specifies that the contents of this run shall be displayed with a single
+ */
+ public boolean isStrikeThrough() {
+ CTRPr pr = run.getRPr();
+ if (pr == null || !pr.isSetStrike())
+ return false;
+ return isCTOnOff(pr.getStrike());
+ }
+
+ /**
+ * Specifies that the contents of this run shall be displayed with a single
* horizontal line through the center of the line.
* <p/>
* This formatting property is a toggle property, which specifies that its
@@ -475,113 +475,113 @@ public class XWPFRun implements ISDTCont
*/
public void setStrikeThrough(boolean value) {
CTRPr pr = run.isSetRPr() ? run.getRPr() : run.addNewRPr();
- CTOnOff strike = pr.isSetStrike() ? pr.getStrike() : pr.addNewStrike();
- strike.setVal(value ? STOnOff.TRUE : STOnOff.FALSE);
- }
-
- @Deprecated
- public boolean isStrike() {
- return isStrikeThrough();
- }
-
- @Deprecated
- public void setStrike(boolean value) {
- setStrikeThrough(value);
- }
-
- /**
- * Specifies that the contents of this run shall be displayed with a double
- * horizontal line through the center of the line.
- *
- * @return <code>true</code> if the double strike property is applied
- */
- public boolean isDoubleStrikeThrough() {
- CTRPr pr = run.getRPr();
- if (pr == null || !pr.isSetDstrike())
- return false;
- return isCTOnOff(pr.getDstrike());
- }
-
- /**
- * Specifies that the contents of this run shall be displayed with a
- * double horizontal line through the center of the line.
- *
- * @see #setStrikeThrough(boolean) for the rules about this
- */
- public void setDoubleStrikethrough(boolean value) {
+ CTOnOff strike = pr.isSetStrike() ? pr.getStrike() : pr.addNewStrike();
+ strike.setVal(value ? STOnOff.TRUE : STOnOff.FALSE);
+ }
+
+ @Deprecated
+ public boolean isStrike() {
+ return isStrikeThrough();
+ }
+
+ @Deprecated
+ public void setStrike(boolean value) {
+ setStrikeThrough(value);
+ }
+
+ /**
+ * Specifies that the contents of this run shall be displayed with a double
+ * horizontal line through the center of the line.
+ *
+ * @return <code>true</code> if the double strike property is applied
+ */
+ public boolean isDoubleStrikeThrough() {
+ CTRPr pr = run.getRPr();
+ if (pr == null || !pr.isSetDstrike())
+ return false;
+ return isCTOnOff(pr.getDstrike());
+ }
+
+ /**
+ * Specifies that the contents of this run shall be displayed with a
+ * double horizontal line through the center of the line.
+ *
+ * @see #setStrikeThrough(boolean) for the rules about this
+ */
+ public void setDoubleStrikethrough(boolean value) {
CTRPr pr = run.isSetRPr() ? run.getRPr() : run.addNewRPr();
CTOnOff dstrike = pr.isSetDstrike() ? pr.getDstrike() :
pr.addNewDstrike();
dstrike.setVal(value ? STOnOff.TRUE : STOnOff.FALSE);
}
-
- public boolean isSmallCaps() {
- CTRPr pr = run.getRPr();
- if (pr == null || !pr.isSetSmallCaps())
- return false;
- return isCTOnOff(pr.getSmallCaps());
- }
-
- public void setSmallCaps(boolean value) {
- CTRPr pr = run.isSetRPr() ? run.getRPr() : run.addNewRPr();
- CTOnOff caps = pr.isSetSmallCaps() ? pr.getSmallCaps() :
pr.addNewSmallCaps();
- caps.setVal(value ? STOnOff.TRUE : STOnOff.FALSE);
- }
-
- public boolean isCapitalized() {
- CTRPr pr = run.getRPr();
- if (pr == null || !pr.isSetCaps())
- return false;
- return isCTOnOff(pr.getCaps());
- }
-
- public void setCapitalized(boolean value) {
- CTRPr pr = run.isSetRPr() ? run.getRPr() : run.addNewRPr();
- CTOnOff caps = pr.isSetCaps() ? pr.getCaps() : pr.addNewCaps();
- caps.setVal(value ? STOnOff.TRUE : STOnOff.FALSE);
- }
-
- public boolean isShadowed() {
- CTRPr pr = run.getRPr();
- if (pr == null || !pr.isSetShadow())
- return false;
- return isCTOnOff(pr.getShadow());
- }
-
- public void setShadow(boolean value) {
- CTRPr pr = run.isSetRPr() ? run.getRPr() : run.addNewRPr();
- CTOnOff shadow = pr.isSetShadow() ? pr.getShadow() : pr.addNewShadow();
- shadow.setVal(value ? STOnOff.TRUE : STOnOff.FALSE);
- }
-
- public boolean isImprinted() {
- CTRPr pr = run.getRPr();
- if (pr == null || !pr.isSetImprint())
- return false;
- return isCTOnOff(pr.getImprint());
- }
-
- public void setImprinted(boolean value) {
- CTRPr pr = run.isSetRPr() ? run.getRPr() : run.addNewRPr();
- CTOnOff imprinted = pr.isSetImprint() ? pr.getImprint() :
pr.addNewImprint();
- imprinted.setVal(value ? STOnOff.TRUE : STOnOff.FALSE);
- }
-
- public boolean isEmbossed() {
- CTRPr pr = run.getRPr();
- if (pr == null || !pr.isSetEmboss())
- return false;
- return isCTOnOff(pr.getEmboss());
- }
-
- public void setEmbossed(boolean value) {
- CTRPr pr = run.isSetRPr() ? run.getRPr() : run.addNewRPr();
- CTOnOff emboss = pr.isSetEmboss() ? pr.getEmboss() : pr.addNewEmboss();
- emboss.setVal(value ? STOnOff.TRUE : STOnOff.FALSE);
- }
-
- /**
- * Specifies the alignment which shall be applied to the contents of this
- * run in relation to the default appearance of the run's text.
+
+ public boolean isSmallCaps() {
+ CTRPr pr = run.getRPr();
+ if (pr == null || !pr.isSetSmallCaps())
+ return false;
+ return isCTOnOff(pr.getSmallCaps());
+ }
+
+ public void setSmallCaps(boolean value) {
+ CTRPr pr = run.isSetRPr() ? run.getRPr() : run.addNewRPr();
+ CTOnOff caps = pr.isSetSmallCaps() ? pr.getSmallCaps() :
pr.addNewSmallCaps();
+ caps.setVal(value ? STOnOff.TRUE : STOnOff.FALSE);
+ }
+
+ public boolean isCapitalized() {
+ CTRPr pr = run.getRPr();
+ if (pr == null || !pr.isSetCaps())
+ return false;
+ return isCTOnOff(pr.getCaps());
+ }
+
+ public void setCapitalized(boolean value) {
+ CTRPr pr = run.isSetRPr() ? run.getRPr() : run.addNewRPr();
+ CTOnOff caps = pr.isSetCaps() ? pr.getCaps() : pr.addNewCaps();
+ caps.setVal(value ? STOnOff.TRUE : STOnOff.FALSE);
+ }
+
+ public boolean isShadowed() {
+ CTRPr pr = run.getRPr();
+ if (pr == null || !pr.isSetShadow())
+ return false;
+ return isCTOnOff(pr.getShadow());
+ }
+
+ public void setShadow(boolean value) {
+ CTRPr pr = run.isSetRPr() ? run.getRPr() : run.addNewRPr();
+ CTOnOff shadow = pr.isSetShadow() ? pr.getShadow() : pr.addNewShadow();
+ shadow.setVal(value ? STOnOff.TRUE : STOnOff.FALSE);
+ }
+
+ public boolean isImprinted() {
+ CTRPr pr = run.getRPr();
+ if (pr == null || !pr.isSetImprint())
+ return false;
+ return isCTOnOff(pr.getImprint());
+ }
+
+ public void setImprinted(boolean value) {
+ CTRPr pr = run.isSetRPr() ? run.getRPr() : run.addNewRPr();
+ CTOnOff imprinted = pr.isSetImprint() ? pr.getImprint() :
pr.addNewImprint();
+ imprinted.setVal(value ? STOnOff.TRUE : STOnOff.FALSE);
+ }
+
+ public boolean isEmbossed() {
+ CTRPr pr = run.getRPr();
+ if (pr == null || !pr.isSetEmboss())
+ return false;
+ return isCTOnOff(pr.getEmboss());
+ }
+
+ public void setEmbossed(boolean value) {
+ CTRPr pr = run.isSetRPr() ? run.getRPr() : run.addNewRPr();
+ CTOnOff emboss = pr.isSetEmboss() ? pr.getEmboss() : pr.addNewEmboss();
+ emboss.setVal(value ? STOnOff.TRUE : STOnOff.FALSE);
+ }
+
+ /**
+ * Specifies the alignment which shall be applied to the contents of this
+ * run in relation to the default appearance of the run's text.
* This allows the text to be repositioned as subscript or superscript
without
* altering the font size of the run properties.
*
@@ -614,20 +614,20 @@ public class XWPFRun implements ISDTCont
CTVerticalAlignRun ctValign = pr.isSetVertAlign() ? pr.getVertAlign()
: pr.addNewVertAlign();
ctValign.setVal(STVerticalAlignRun.Enum.forInt(valign.getValue()));
}
-
- public int getKerning() {
- CTRPr pr = run.getRPr();
- if (pr == null || !pr.isSetKern())
- return 0;
- return pr.getKern().getVal().intValue();
- }
-
- public void setKerning(int kern) {
- CTRPr pr = run.isSetRPr() ? run.getRPr() : run.addNewRPr();
- CTHpsMeasure kernmes = pr.isSetKern() ? pr.getKern() : pr.addNewKern();
- kernmes.setVal(BigInteger.valueOf(kern));
- }
-
+
+ public int getKerning() {
+ CTRPr pr = run.getRPr();
+ if (pr == null || !pr.isSetKern())
+ return 0;
+ return pr.getKern().getVal().intValue();
+ }
+
+ public void setKerning(int kern) {
+ CTRPr pr = run.isSetRPr() ? run.getRPr() : run.addNewRPr();
+ CTHpsMeasure kernmes = pr.isSetKern() ? pr.getKern() : pr.addNewKern();
+ kernmes.setVal(BigInteger.valueOf(kern));
+ }
+
public boolean isHighlighted() {
CTRPr pr = run.getRPr();
if (pr == null || !pr.isSetHighlight())
@@ -639,92 +639,92 @@ public class XWPFRun implements ISDTCont
// TODO Provide a wrapper round STHighlightColor, then expose getter/setter
// for the highlight colour. Ideally also then add to CharacterRun
interface
- public int getCharacterSpacing() {
- CTRPr pr = run.getRPr();
- if (pr == null || !pr.isSetSpacing())
- return 0;
- return pr.getSpacing().getVal().intValue();
- }
-
- public void setCharacterSpacing(int twips) {
- CTRPr pr = run.isSetRPr() ? run.getRPr() : run.addNewRPr();
- CTSignedTwipsMeasure spc = pr.isSetSpacing() ? pr.getSpacing() :
pr.addNewSpacing();
- spc.setVal(BigInteger.valueOf(twips));
- }
-
- /**
- * Gets the fonts which shall be used to display the text contents of
- * this run. Specifies a font which shall be used to format all characters
+ public int getCharacterSpacing() {
+ CTRPr pr = run.getRPr();
+ if (pr == null || !pr.isSetSpacing())
+ return 0;
+ return pr.getSpacing().getVal().intValue();
+ }
+
+ public void setCharacterSpacing(int twips) {
+ CTRPr pr = run.isSetRPr() ? run.getRPr() : run.addNewRPr();
+ CTSignedTwipsMeasure spc = pr.isSetSpacing() ? pr.getSpacing() :
pr.addNewSpacing();
+ spc.setVal(BigInteger.valueOf(twips));
+ }
+
+ /**
+ * Gets the fonts which shall be used to display the text contents of
+ * this run. Specifies a font which shall be used to format all characters
* in the ASCII range (0 - 127) within the parent run
*
* @return a string representing the font family
*/
- public String getFontFamily() {
- return getFontFamily(null);
- }
-
- /**
- * Specifies the fonts which shall be used to display the text contents of
- * this run. Specifies a font which shall be used to format all characters
- * in the ASCII range (0 - 127) within the parent run.
- * <p/>
- * Also sets the other font ranges, if they haven't been set before
- *
- * @param fontFamily
- * @see FontCharRange
- */
- public void setFontFamily(String fontFamily) {
- setFontFamily(fontFamily, null);
- }
-
- /**
- * Alias for {@link #getFontFamily()}
- */
- public String getFontName() {
+ public String getFontFamily() {
+ return getFontFamily(null);
+ }
+
+ /**
+ * Specifies the fonts which shall be used to display the text contents of
+ * this run. Specifies a font which shall be used to format all characters
+ * in the ASCII range (0 - 127) within the parent run.
+ * <p/>
+ * Also sets the other font ranges, if they haven't been set before
+ *
+ * @param fontFamily
+ * @see FontCharRange
+ */
+ public void setFontFamily(String fontFamily) {
+ setFontFamily(fontFamily, null);
+ }
+
+ /**
+ * Alias for {@link #getFontFamily()}
+ */
+ public String getFontName() {
return getFontFamily();
}
/**
* Gets the font family for the specified font char range.
- * If fcr is null, the font char range "ascii" is used
- *
- * @param fcr the font char range, defaults to "ansi"
- * @return a string representing the font famil
- */
- public String getFontFamily(FontCharRange fcr) {
- CTRPr pr = run.getRPr();
- if (pr == null || !pr.isSetRFonts()) return null;
-
- CTFonts fonts = pr.getRFonts();
- switch (fcr == null ? FontCharRange.ascii : fcr) {
- default:
- case ascii:
- return fonts.getAscii();
- case cs:
- return fonts.getCs();
- case eastAsia:
- return fonts.getEastAsia();
- case hAnsi:
- return fonts.getHAnsi();
- }
- }
-
- /**
- * Specifies the fonts which shall be used to display the text contents of
- * this run. The default handling for fcr == null is to overwrite the
- * ascii font char range with the given font family and also set all not
- * specified font ranges
- *
- * @param fontFamily
- * @param fcr FontCharRange or null for default handling
- */
- public void setFontFamily(String fontFamily, FontCharRange fcr) {
- CTRPr pr = run.isSetRPr() ? run.getRPr() : run.addNewRPr();
- CTFonts fonts = pr.isSetRFonts() ? pr.getRFonts() : pr.addNewRFonts();
-
- if (fcr == null) {
- fonts.setAscii(fontFamily);
- if (!fonts.isSetHAnsi()) {
+ * If fcr is null, the font char range "ascii" is used
+ *
+ * @param fcr the font char range, defaults to "ansi"
+ * @return a string representing the font famil
+ */
+ public String getFontFamily(FontCharRange fcr) {
+ CTRPr pr = run.getRPr();
+ if (pr == null || !pr.isSetRFonts()) return null;
+
+ CTFonts fonts = pr.getRFonts();
+ switch (fcr == null ? FontCharRange.ascii : fcr) {
+ default:
+ case ascii:
+ return fonts.getAscii();
+ case cs:
+ return fonts.getCs();
+ case eastAsia:
+ return fonts.getEastAsia();
+ case hAnsi:
+ return fonts.getHAnsi();
+ }
+ }
+
+ /**
+ * Specifies the fonts which shall be used to display the text contents of
+ * this run. The default handling for fcr == null is to overwrite the
+ * ascii font char range with the given font family and also set all not
+ * specified font ranges
+ *
+ * @param fontFamily
+ * @param fcr FontCharRange or null for default handling
+ */
+ public void setFontFamily(String fontFamily, FontCharRange fcr) {
+ CTRPr pr = run.isSetRPr() ? run.getRPr() : run.addNewRPr();
+ CTFonts fonts = pr.isSetRFonts() ? pr.getRFonts() : pr.addNewRFonts();
+
+ if (fcr == null) {
+ fonts.setAscii(fontFamily);
+ if (!fonts.isSetHAnsi()) {
fonts.setHAnsi(fontFamily);
}
if (!fonts.isSetCs()) {
@@ -732,24 +732,24 @@ public class XWPFRun implements ISDTCont
}
if (!fonts.isSetEastAsia()) {
fonts.setEastAsia(fontFamily);
- }
- } else {
- switch (fcr) {
- case ascii:
- fonts.setAscii(fontFamily);
- break;
- case cs:
- fonts.setCs(fontFamily);
- break;
- case eastAsia:
- fonts.setEastAsia(fontFamily);
- break;
- case hAnsi:
- fonts.setHAnsi(fontFamily);
- break;
- }
- }
- }
+ }
+ } else {
+ switch (fcr) {
+ case ascii:
+ fonts.setAscii(fontFamily);
+ break;
+ case cs:
+ fonts.setCs(fontFamily);
+ break;
+ case eastAsia:
+ fonts.setEastAsia(fontFamily);
+ break;
+ case hAnsi:
+ fonts.setHAnsi(fontFamily);
+ break;
+ }
+ }
+ }
/**
* Specifies the font size which shall be applied to all non complex script
@@ -772,13 +772,13 @@ public class XWPFRun implements ISDTCont
* be used for non complex script characters.
* </p>
*
- * @param size
- */
- public void setFontSize(int size) {
- BigInteger bint = new BigInteger("" + size);
- CTRPr pr = run.isSetRPr() ? run.getRPr() : run.addNewRPr();
- CTHpsMeasure ctSize = pr.isSetSz() ? pr.getSz() : pr.addNewSz();
- ctSize.setVal(bint.multiply(new BigInteger("2")));
+ * @param size
+ */
+ public void setFontSize(int size) {
+ BigInteger bint = new BigInteger("" + size);
+ CTRPr pr = run.isSetRPr() ? run.getRPr() : run.addNewRPr();
+ CTHpsMeasure ctSize = pr.isSetSz() ? pr.getSz() : pr.addNewSz();
+ ctSize.setVal(bint.multiply(new BigInteger("2")));
}
/**
@@ -815,54 +815,54 @@ public class XWPFRun implements ISDTCont
* contents of this run.
* </p>
*
- * @param val
- */
- public void setTextPosition(int val) {
- BigInteger bint = new BigInteger("" + val);
- CTRPr pr = run.isSetRPr() ? run.getRPr() : run.addNewRPr();
- CTSignedHpsMeasure position = pr.isSetPosition() ? pr.getPosition() :
pr.addNewPosition();
- position.setVal(bint);
- }
-
- /**
- *
- */
- public void removeBreak() {
- // TODO
- }
-
- /**
- * Specifies that a break shall be placed at the current location in the
run
- * content.
- * A break is a special character which is used to override the
- * normal line breaking that would be performed based on the normal layout
- * of the document's contents.
- *
- * @see #addCarriageReturn()
- */
- public void addBreak() {
- run.addNewBr();
- }
-
- /**
- * Specifies that a break shall be placed at the current location in the
run
+ * @param val
+ */
+ public void setTextPosition(int val) {
+ BigInteger bint = new BigInteger("" + val);
+ CTRPr pr = run.isSetRPr() ? run.getRPr() : run.addNewRPr();
+ CTSignedHpsMeasure position = pr.isSetPosition() ? pr.getPosition() :
pr.addNewPosition();
+ position.setVal(bint);
+ }
+
+ /**
+ *
+ */
+ public void removeBreak() {
+ // TODO
+ }
+
+ /**
+ * Specifies that a break shall be placed at the current location in the
run
+ * content.
+ * A break is a special character which is used to override the
+ * normal line breaking that would be performed based on the normal layout
+ * of the document's contents.
+ *
+ * @see #addCarriageReturn()
+ */
+ public void addBreak() {
+ run.addNewBr();
+ }
+
+ /**
+ * Specifies that a break shall be placed at the current location in the
run
* content.
* A break is a special character which is used to override the
* normal line breaking that would be performed based on the normal layout
* of the document's contents.
* <p>
* The behavior of this break character (the
- * location where text shall be restarted after this break) shall be
- * determined by its type values.
- * </p>
- *
- * @see BreakType
- */
- public void addBreak(BreakType type) {
- CTBr br = run.addNewBr();
- br.setType(STBrType.Enum.forInt(type.getValue()));
- }
-
+ * location where text shall be restarted after this break) shall be
+ * determined by its type values.
+ * </p>
+ *
+ * @see BreakType
+ */
+ public void addBreak(BreakType type) {
+ CTBr br = run.addNewBr();
+ br.setType(STBrType.Enum.forInt(type.getValue()));
+ }
+
/**
* Specifies that a break shall be placed at the current location in the
run
* content. A break is a special character which is used to override the
@@ -870,32 +870,32 @@ public class XWPFRun implements ISDTCont
* of the document's contents.
* <p>
* The behavior of this break character (the
- * location where text shall be restarted after this break) shall be
- * determined by its type (in this case is BreakType.TEXT_WRAPPING as
default) and clear attribute values.
- * </p>
- *
- * @see BreakClear
- */
- public void addBreak(BreakClear clear) {
- CTBr br = run.addNewBr();
- br.setType(STBrType.Enum.forInt(BreakType.TEXT_WRAPPING.getValue()));
- br.setClear(STBrClear.Enum.forInt(clear.getValue()));
- }
-
- /**
- * Specifies that a tab shall be placed at the current location in
- * the run content.
- */
- public void addTab() {
- run.addNewTab();
- }
-
- public void removeTab() {
- //TODO
- }
-
- /**
- * Specifies that a carriage return shall be placed at the
+ * location where text shall be restarted after this break) shall be
+ * determined by its type (in this case is BreakType.TEXT_WRAPPING as
default) and clear attribute values.
+ * </p>
+ *
+ * @see BreakClear
+ */
+ public void addBreak(BreakClear clear) {
+ CTBr br = run.addNewBr();
+ br.setType(STBrType.Enum.forInt(BreakType.TEXT_WRAPPING.getValue()));
+ br.setClear(STBrClear.Enum.forInt(clear.getValue()));
+ }
+
+ /**
+ * Specifies that a tab shall be placed at the current location in
+ * the run content.
+ */
+ public void addTab() {
+ run.addNewTab();
+ }
+
+ public void removeTab() {
+ //TODO
+ }
+
+ /**
+ * Specifies that a carriage return shall be placed at the
* current location in the run content.
* A carriage return is used to end the current line of text in
* Wordprocess.
@@ -909,29 +909,29 @@ public class XWPFRun implements ISDTCont
public void addCarriageReturn() {
run.addNewCr();
}
-
- public void removeCarriageReturn() {
- //TODO
- }
-
- /**
- * Adds a picture to the run. This method handles
- * attaching the picture data to the overall file.
- *
- * @param pictureData The raw picture data
- * @param pictureType The type of the picture, eg {@link
Document#PICTURE_TYPE_JPEG}
- * @param width width in EMUs. To convert to / from points use
{@link org.apache.poi.util.Units}
- * @param height height in EMUs. To convert to / from points use
{@link org.apache.poi.util.Units}
- * @throws org.apache.poi.openxml4j.exceptions.InvalidFormatException
- * @throws IOException
- * @see org.apache.poi.xwpf.usermodel.Document#PICTURE_TYPE_EMF
- * @see org.apache.poi.xwpf.usermodel.Document#PICTURE_TYPE_WMF
- * @see org.apache.poi.xwpf.usermodel.Document#PICTURE_TYPE_PICT
- * @see org.apache.poi.xwpf.usermodel.Document#PICTURE_TYPE_JPEG
- * @see org.apache.poi.xwpf.usermodel.Document#PICTURE_TYPE_PNG
- * @see org.apache.poi.xwpf.usermodel.Document#PICTURE_TYPE_DIB
- */
- public XWPFPicture addPicture(InputStream pictureData, int pictureType,
String filename, int width, int height)
+
+ public void removeCarriageReturn() {
+ //TODO
+ }
+
+ /**
+ * Adds a picture to the run. This method handles
+ * attaching the picture data to the overall file.
+ *
+ * @param pictureData The raw picture data
+ * @param pictureType The type of the picture, eg {@link
Document#PICTURE_TYPE_JPEG}
+ * @param width width in EMUs. To convert to / from points use
{@link org.apache.poi.util.Units}
+ * @param height height in EMUs. To convert to / from points use
{@link org.apache.poi.util.Units}
+ * @throws org.apache.poi.openxml4j.exceptions.InvalidFormatException
+ * @throws IOException
+ * @see org.apache.poi.xwpf.usermodel.Document#PICTURE_TYPE_EMF
+ * @see org.apache.poi.xwpf.usermodel.Document#PICTURE_TYPE_WMF
+ * @see org.apache.poi.xwpf.usermodel.Document#PICTURE_TYPE_PICT
+ * @see org.apache.poi.xwpf.usermodel.Document#PICTURE_TYPE_JPEG
+ * @see org.apache.poi.xwpf.usermodel.Document#PICTURE_TYPE_PNG
+ * @see org.apache.poi.xwpf.usermodel.Document#PICTURE_TYPE_DIB
+ */
+ public XWPFPicture addPicture(InputStream pictureData, int pictureType,
String filename, int width, int height)
throws InvalidFormatException, IOException {
String relationId;
XWPFPictureData picData;
@@ -954,20 +954,20 @@ public class XWPFRun implements ISDTCont
try {
CTDrawing drawing = run.addNewDrawing();
CTInline inline = drawing.addNewInline();
-
- // Do the fiddly namespace bits on the inline
- // (We need full control of what goes where and as what)
- String xml =
- "<a:graphic xmlns:a=\"" +
CTGraphicalObject.type.getName().getNamespaceURI() + "\">" +
- "<a:graphicData uri=\"" +
CTPicture.type.getName().getNamespaceURI() + "\">" +
- "<pic:pic xmlns:pic=\"" +
CTPicture.type.getName().getNamespaceURI() + "\" />" +
- "</a:graphicData>" +
+
+ // Do the fiddly namespace bits on the inline
+ // (We need full control of what goes where and as what)
+ String xml =
+ "<a:graphic xmlns:a=\"" +
CTGraphicalObject.type.getName().getNamespaceURI() + "\">" +
+ "<a:graphicData uri=\"" +
CTPicture.type.getName().getNamespaceURI() + "\">" +
+ "<pic:pic xmlns:pic=\"" +
CTPicture.type.getName().getNamespaceURI() + "\" />" +
+ "</a:graphicData>" +
"</a:graphic>";
InputSource is = new InputSource(new StringReader(xml));
- org.w3c.dom.Document doc = DocumentHelper.readDocument(is);
- inline.set(XmlToken.Factory.parse(doc.getDocumentElement(),
DEFAULT_XML_OPTIONS));
-
- // Setup the inline
+ org.w3c.dom.Document doc = DocumentHelper.readDocument(is);
+ inline.set(XmlToken.Factory.parse(doc.getDocumentElement(),
DEFAULT_XML_OPTIONS));
+
+ // Setup the inline
inline.setDistT(0);
inline.setDistR(0);
inline.setDistB(0);
@@ -1023,38 +1023,38 @@ public class XWPFRun implements ISDTCont
prstGeom.addNewAvLst();
// Finish up
- XWPFPicture xwpfPicture = new XWPFPicture(pic, this);
- pictures.add(xwpfPicture);
- return xwpfPicture;
- } catch (XmlException e) {
- throw new IllegalStateException(e);
+ XWPFPicture xwpfPicture = new XWPFPicture(pic, this);
+ pictures.add(xwpfPicture);
+ return xwpfPicture;
+ } catch (XmlException e) {
+ throw new IllegalStateException(e);
} catch (SAXException e) {
throw new IllegalStateException(e);
- }
- }
-
- /**
- * Returns the embedded pictures of the run. These
- * are pictures which reference an external,
- * embedded picture image such as a .png or .jpg
- */
- public List<XWPFPicture> getEmbeddedPictures() {
- return pictures;
- }
-
- /**
- * Returns the string version of the text
- */
- public String toString() {
- return text();
- }
-
- /**
- * Returns the string version of the text, with tabs and
- * carriage returns in place of their xml equivalents.
- */
- public String text() {
- StringBuffer text = new StringBuffer();
+ }
+ }
+
+ /**
+ * Returns the embedded pictures of the run. These
+ * are pictures which reference an external,
+ * embedded picture image such as a .png or .jpg
+ */
+ public List<XWPFPicture> getEmbeddedPictures() {
+ return pictures;
+ }
+
+ /**
+ * Returns the string version of the text
+ */
+ public String toString() {
+ return text();
+ }
+
+ /**
+ * Returns the string version of the text, with tabs and
+ * carriage returns in place of their xml equivalents.
+ */
+ public String text() {
+ StringBuffer text = new StringBuffer();
// Grab the text and tabs of the text run
// Do so in a way that preserves the ordering
@@ -1068,26 +1068,26 @@ public class XWPFRun implements ISDTCont
// come up as instances of CTText, but we don't want them
// in the normal text output
if (!"w:instrText".equals(tagName)) {
- text.append(((CTText) o).getStringValue());
- }
- }
-
- // Complex type evaluation (currently only for extraction of check
boxes)
- if (o instanceof CTFldChar) {
- CTFldChar ctfldChar = ((CTFldChar) o);
- if (ctfldChar.getFldCharType() == STFldCharType.BEGIN) {
- if (ctfldChar.getFfData() != null) {
- for (CTFFCheckBox checkBox :
ctfldChar.getFfData().getCheckBoxList()) {
- if (checkBox.getDefault().getVal() == STOnOff.X_1)
{
- text.append("|X|");
- } else {
- text.append("|_|");
- }
- }
- }
- }
- }
-
+ text.append(((CTText) o).getStringValue());
+ }
+ }
+
+ // Complex type evaluation (currently only for extraction of check
boxes)
+ if (o instanceof CTFldChar) {
+ CTFldChar ctfldChar = ((CTFldChar) o);
+ if (ctfldChar.getFldCharType() == STFldCharType.BEGIN) {
+ if (ctfldChar.getFfData() != null) {
+ for (CTFFCheckBox checkBox :
ctfldChar.getFfData().getCheckBoxList()) {
+ if (checkBox.getDefault().getVal() == STOnOff.X_1)
{
+ text.append("|X|");
+ } else {
+ text.append("|_|");
+ }
+ }
+ }
+ }
+ }
+
if (o instanceof CTPTab) {
text.append("\t");
}
@@ -1109,33 +1109,33 @@ public class XWPFRun implements ISDTCont
}
if ("w:cr".equals(tagName) || "cr".equals(tagName)) {
text.append("\n");
- }
- }
- if (o instanceof CTFtnEdnRef) {
- CTFtnEdnRef ftn = (CTFtnEdnRef) o;
- String footnoteRef =
ftn.getDomNode().getLocalName().equals("footnoteReference") ?
- "[footnoteRef:" + ftn.getId().intValue() + "]" :
"[endnoteRef:" + ftn.getId().intValue() + "]";
- text.append(footnoteRef);
- }
- }
-
- c.dispose();
-
- // Any picture text?
- if (pictureText != null && pictureText.length() > 0) {
- text.append("\n").append(pictureText);
- }
-
- return text.toString();
- }
-
- /**
- * @see <a
href="http://msdn.microsoft.com/en-us/library/ff533743(v=office.12).aspx">[MS-OI29500]
Run Fonts</a>
- */
- public static enum FontCharRange {
- ascii /* char 0-127 */,
- cs /* complex symbol */,
- eastAsia /* east asia */,
- hAnsi /* high ansi */
- }
-}
+ }
+ }
+ if (o instanceof CTFtnEdnRef) {
+ CTFtnEdnRef ftn = (CTFtnEdnRef) o;
+ String footnoteRef =
ftn.getDomNode().getLocalName().equals("footnoteReference") ?
+ "[footnoteRef:" + ftn.getId().intValue() + "]" :
"[endnoteRef:" + ftn.getId().intValue() + "]";
+ text.append(footnoteRef);
+ }
+ }
+
+ c.dispose();
+
+ // Any picture text?
+ if (pictureText != null && pictureText.length() > 0) {
+ text.append("\n").append(pictureText);
+ }
+
+ return text.toString();
+ }
+
+ /**
+ * @see <a
href="http://msdn.microsoft.com/en-us/library/ff533743(v=office.12).aspx">[MS-OI29500]
Run Fonts</a>
+ */
+ public static enum FontCharRange {
+ ascii /* char 0-127 */,
+ cs /* complex symbol */,
+ eastAsia /* east asia */,
+ hAnsi /* high ansi */
+ }
+}
Propchange: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFRun.java
------------------------------------------------------------------------------
svn:eol-style = native
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]