This commit is contained in:
parent
718b4d9dc0
commit
19349d9fcd
@ -39,7 +39,9 @@ namespace fmtxml
|
|||||||
case "WCN2":
|
case "WCN2":
|
||||||
AddWCN2(myDoc);
|
AddWCN2(myDoc);
|
||||||
break;
|
break;
|
||||||
|
case "WCN1":
|
||||||
|
AddWCN2(myDoc); // same cover page box as wcn2
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -44,12 +44,24 @@ namespace fmtxml
|
|||||||
XmlNode doc = xmldoc.ReadNode(reader);
|
XmlNode doc = xmldoc.ReadNode(reader);
|
||||||
top.AppendChild(doc);
|
top.AppendChild(doc);
|
||||||
}
|
}
|
||||||
XmlWriterSettings settingsout = new XmlWriterSettings();
|
|
||||||
settingsout.Encoding = Encoding.Unicode;
|
|
||||||
string outname = MyPath + @"\fmtall\" + mxml.Substring(mxml.IndexOf("\\")+1,mxml.Length - 13) + "all.xml";
|
string outname = MyPath + @"\fmtall\" + mxml.Substring(mxml.IndexOf("\\")+1,mxml.Length - 13) + "all.xml";
|
||||||
XmlWriter xmlwrite = XmlWriter.Create(outname,settingsout);
|
XmlWriterSettings settingsout = new XmlWriterSettings();
|
||||||
xmldoc.WriteContentTo(xmlwrite);
|
settingsout.Encoding = Encoding.Unicode;
|
||||||
xmlwrite.Close();
|
settingsout.Indent = true;
|
||||||
|
settingsout.IndentChars = "\t";
|
||||||
|
XmlWriter xmlwrite = XmlWriter.Create(outname,settingsout);
|
||||||
|
xmldoc.WriteContentTo(xmlwrite);
|
||||||
|
xmlwrite.Close();
|
||||||
|
XmlDocument newDoc = new XmlDocument();
|
||||||
|
newDoc.Load(outname);
|
||||||
|
XmlNodeReader xtr = new XmlNodeReader(newDoc);
|
||||||
|
XmlTextWriter xtw = new XmlTextWriter(outname, Encoding.Unicode);
|
||||||
|
xtw.Formatting = Formatting.Indented;
|
||||||
|
xtw.Indentation = 1;
|
||||||
|
xtw.IndentChar = '\t';
|
||||||
|
xtw.WriteNode(xtr, true);
|
||||||
|
xtr.Close();
|
||||||
|
xtw.Close();
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
@ -513,7 +513,8 @@ public struct CheckOffData
|
|||||||
public string AllowSectEdit;
|
public string AllowSectEdit;
|
||||||
public string AllowStepEdit;
|
public string AllowStepEdit;
|
||||||
public int UseCheckOffsIn;
|
public int UseCheckOffsIn;
|
||||||
public sbyte CheckOffAdjustment;
|
public float CheckOffAdjustment;
|
||||||
|
public float XLocation;
|
||||||
/* Format flags ... */
|
/* Format flags ... */
|
||||||
public string DropCheckOff;
|
public string DropCheckOff;
|
||||||
public string CheckOffOnHLSOnly;
|
public string CheckOffOnHLSOnly;
|
||||||
@ -785,7 +786,6 @@ public struct StepSectionEdit
|
|||||||
public struct SeqTabFmt
|
public struct SeqTabFmt
|
||||||
{
|
{
|
||||||
public int Index;
|
public int Index;
|
||||||
public int LeftJustify;
|
|
||||||
public string TabToken;
|
public string TabToken;
|
||||||
public string TabFormat;
|
public string TabFormat;
|
||||||
public string PrintTabFormat;
|
public string PrintTabFormat;
|
||||||
@ -805,9 +805,16 @@ public struct StepSectionPrint
|
|||||||
/* End of format flags */
|
/* End of format flags */
|
||||||
public VE_Font ModifiedTextStyle;
|
public VE_Font ModifiedTextStyle;
|
||||||
public VE_Font ImmStepHdrStyle;
|
public VE_Font ImmStepHdrStyle;
|
||||||
|
public LeftJustify[] LeftJustifyList;
|
||||||
public string[] ImmStepHdr;
|
public string[] ImmStepHdr;
|
||||||
}
|
}
|
||||||
[Serializable]
|
[Serializable]
|
||||||
|
public struct LeftJustify
|
||||||
|
{
|
||||||
|
public int Index;
|
||||||
|
public float Size;
|
||||||
|
}
|
||||||
|
[Serializable]
|
||||||
public struct ReplaceStr
|
public struct ReplaceStr
|
||||||
{
|
{
|
||||||
public string Flag;
|
public string Flag;
|
||||||
@ -1546,7 +1553,7 @@ namespace fmtxml
|
|||||||
fmtName = alias;
|
fmtName = alias;
|
||||||
//if (fmtName.ToUpper() != "CPLS" && fmtName.ToUpper() != "BASE") return;
|
//if (fmtName.ToUpper() != "CPLS" && fmtName.ToUpper() != "BASE") return;
|
||||||
//if (fmtName.ToUpper() != "OHLP" && fmtName.ToUpper() != "BASE" && fmtName.ToUpper() != "WCN2") return;
|
//if (fmtName.ToUpper() != "OHLP" && fmtName.ToUpper() != "BASE" && fmtName.ToUpper() != "WCN2") return;
|
||||||
//if (fmtName.ToUpper() != "WCN2" && fmtName.ToUpper() != "BASE") return;
|
//if (fmtName.ToUpper() != "WCN1" && fmtName.ToUpper() != "BASE") return;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
LoadFormatFile(nm + ".fmt", ref SubXtraFlags);
|
LoadFormatFile(nm + ".fmt", ref SubXtraFlags);
|
||||||
@ -2421,6 +2428,10 @@ namespace fmtxml
|
|||||||
for (int i = 0; i < MAXCHKHEADINGS; i++) fmtdata.ProcData.CheckOffData.CheckOffHeaderList[i].Index = i;
|
for (int i = 0; i < MAXCHKHEADINGS; i++) fmtdata.ProcData.CheckOffData.CheckOffHeaderList[i].Index = i;
|
||||||
for (int i = 0; i < MAXCHKHEADINGS; i++) fmtdata.ProcData.CheckOffData.CheckOffHeaderList[i].Font = LoadVE_Font();
|
for (int i = 0; i < MAXCHKHEADINGS; i++) fmtdata.ProcData.CheckOffData.CheckOffHeaderList[i].Font = LoadVE_Font();
|
||||||
fmtdata.ProcData.CheckOffData.UseCheckOffsIn = brFmt.ReadInt32();
|
fmtdata.ProcData.CheckOffData.UseCheckOffsIn = brFmt.ReadInt32();
|
||||||
|
// 16 bit code was defaulting to Elite when calculating the starting location of the check off line.
|
||||||
|
// so use elite: 72 points per inch, 12 chars per inch
|
||||||
|
int tmpcolco = (rightCheckOffBox[3] & 0xFF) * 72/12;
|
||||||
|
if (tmpcolco > 0) fmtdata.ProcData.CheckOffData.XLocation = (float)tmpcolco; // ColToPoints((float)tmpcolco, _PlantDefaultFontStyle);
|
||||||
tmplong = (int)brFmt.ReadUInt32();
|
tmplong = (int)brFmt.ReadUInt32();
|
||||||
fmtdata.SectData.StepSectionData.StpSectLayData.EndMessagePos = brFmt.ReadInt16();
|
fmtdata.SectData.StepSectionData.StpSectLayData.EndMessagePos = brFmt.ReadInt16();
|
||||||
tmpshort = brFmt.ReadInt16(); // CenterTableAdjustment
|
tmpshort = brFmt.ReadInt16(); // CenterTableAdjustment
|
||||||
@ -2517,7 +2528,7 @@ namespace fmtxml
|
|||||||
accsec.TableOfContentsData = toc;
|
accsec.TableOfContentsData = toc;
|
||||||
for (int i = 0; i < MAXSTEPS; i++) tmpbyte = brFmt.ReadByte();
|
for (int i = 0; i < MAXSTEPS; i++) tmpbyte = brFmt.ReadByte();
|
||||||
|
|
||||||
fmtdata.ProcData.CheckOffData.CheckOffAdjustment = brFmt.ReadSByte();
|
fmtdata.ProcData.CheckOffData.CheckOffAdjustment = ColToPoints(Convert.ToInt16(brFmt.ReadSByte()), _PlantDefaultFontStyle);
|
||||||
|
|
||||||
tmpshort = brFmt.ReadInt16(); // ColsAdjustInS2
|
tmpshort = brFmt.ReadInt16(); // ColsAdjustInS2
|
||||||
tmpbyte = brFmt.ReadByte(); // SeriesTitleLength;
|
tmpbyte = brFmt.ReadByte(); // SeriesTitleLength;
|
||||||
@ -2551,13 +2562,14 @@ namespace fmtxml
|
|||||||
for (int i = 0; i < 3; i++) tmpbyte3[i] = brFmt.ReadSByte();
|
for (int i = 0; i < 3; i++) tmpbyte3[i] = brFmt.ReadSByte();
|
||||||
tmpstr = string.Format("{0}, {1}, {2}", tmpbyte3[0], tmpbyte3[1], tmpbyte3[2]);
|
tmpstr = string.Format("{0}, {1}, {2}", tmpbyte3[0], tmpbyte3[1], tmpbyte3[2]);
|
||||||
fmtdata.SectData.StepSectionData.StpSectLayData.TableCenterPos = tmpstr;
|
fmtdata.SectData.StepSectionData.StpSectLayData.TableCenterPos = tmpstr;
|
||||||
|
|
||||||
//short[] tmpint9 = new short[9];
|
|
||||||
//for (int i = 0; i < 9; i++) tmpint9[i] = brFmt.ReadInt16();
|
|
||||||
//tmpstr = string.Format("{0},{1},{2},{3},{4},{5},{6},{7},{8}", tmpint9[0], tmpint9[1], tmpint9[2], tmpint9[3], tmpint9[4], tmpint9[5], tmpint9[6], tmpint9[7], tmpint9[8]);
|
|
||||||
//fmtdata.SectData.StepSectionData.LeftJustSeqTab = tmpstr;
|
|
||||||
for (int i = 0; i < MAXSEQ; i++) fmtdata.SectData.StepSectionData.SequentialTabFormat[i].Index = i;
|
for (int i = 0; i < MAXSEQ; i++) fmtdata.SectData.StepSectionData.SequentialTabFormat[i].Index = i;
|
||||||
for (int i = 0; i < MAXSEQ; i++) fmtdata.SectData.StepSectionData.SequentialTabFormat[i].LeftJustify = brFmt.ReadInt16();
|
LeftJustify[] lftjust = new LeftJustify[MAXSEQ];
|
||||||
|
fmtdata.SectData.StepSectionData.StpSectPrtData.LeftJustifyList = lftjust;
|
||||||
|
for (int i = 0; i < MAXSEQ; i++)
|
||||||
|
{
|
||||||
|
lftjust[i].Index = i;
|
||||||
|
lftjust[i].Size = ColToPoints(brFmt.ReadInt16(), _PlantDefaultFontStyle); //brFmt.ReadInt16();
|
||||||
|
}
|
||||||
MetaSection[] metsects = new MetaSection[10];
|
MetaSection[] metsects = new MetaSection[10];
|
||||||
fmtdata.SectData.MetaSectionData = metsects;
|
fmtdata.SectData.MetaSectionData = metsects;
|
||||||
for (int i = 0; i < 10; i++) metsects[i].Index = i;
|
for (int i = 0; i < 10; i++) metsects[i].Index = i;
|
||||||
@ -4780,6 +4792,7 @@ namespace fmtxml
|
|||||||
if (mco.AllowSectEdit == sco.AllowSectEdit) subFmt.ProcData.CheckOffData.AllowSectEdit = "null";
|
if (mco.AllowSectEdit == sco.AllowSectEdit) subFmt.ProcData.CheckOffData.AllowSectEdit = "null";
|
||||||
if (mco.AllowStepEdit == sco.AllowStepEdit) subFmt.ProcData.CheckOffData.AllowStepEdit = "null";
|
if (mco.AllowStepEdit == sco.AllowStepEdit) subFmt.ProcData.CheckOffData.AllowStepEdit = "null";
|
||||||
if (mco.UseCheckOffsIn == sco.UseCheckOffsIn) subFmt.ProcData.CheckOffData.UseCheckOffsIn = 0;
|
if (mco.UseCheckOffsIn == sco.UseCheckOffsIn) subFmt.ProcData.CheckOffData.UseCheckOffsIn = 0;
|
||||||
|
if (mco.XLocation == sco.XLocation) subFmt.ProcData.CheckOffData.XLocation = 0;
|
||||||
if (mco.CheckOffAdjustment == sco.CheckOffAdjustment) subFmt.ProcData.CheckOffData.CheckOffAdjustment = 0;
|
if (mco.CheckOffAdjustment == sco.CheckOffAdjustment) subFmt.ProcData.CheckOffData.CheckOffAdjustment = 0;
|
||||||
if (mco.DropCheckOff != null && mco.DropCheckOff == sco.DropCheckOff) subFmt.ProcData.CheckOffData.DropCheckOff = "null";
|
if (mco.DropCheckOff != null && mco.DropCheckOff == sco.DropCheckOff) subFmt.ProcData.CheckOffData.DropCheckOff = "null";
|
||||||
if (mco.CheckOffOnHLSOnly != null && mco.CheckOffOnHLSOnly == sco.CheckOffOnHLSOnly) subFmt.ProcData.CheckOffData.CheckOffOnHLSOnly = "null";
|
if (mco.CheckOffOnHLSOnly != null && mco.CheckOffOnHLSOnly == sco.CheckOffOnHLSOnly) subFmt.ProcData.CheckOffData.CheckOffOnHLSOnly = "null";
|
||||||
|
@ -61,6 +61,7 @@ public struct DocStyle
|
|||||||
public bool IsStepSection; // using oldtonew, determine whether is step
|
public bool IsStepSection; // using oldtonew, determine whether is step
|
||||||
// section or word doc section (new to 32-bit)
|
// section or word doc section (new to 32-bit)
|
||||||
public bool UseCheckOffs; // This was originally in fmt. Load fmt to get
|
public bool UseCheckOffs; // This was originally in fmt. Load fmt to get
|
||||||
|
public bool UseColSByLevel; // Didn't want a OldToNew Test in new proms, so set this if doc is an E2.
|
||||||
public int oldtonew; // Bits for converting from old to new
|
public int oldtonew; // Bits for converting from old to new
|
||||||
// document style
|
// document style
|
||||||
public bool CancelSectTitle; // Was format flags CancelSecTitlesOnS1 & CancelSecTitlesOnS2
|
public bool CancelSectTitle; // Was format flags CancelSecTitlesOnS1 & CancelSecTitlesOnS2
|
||||||
@ -484,7 +485,7 @@ namespace fmtxml
|
|||||||
{
|
{
|
||||||
MyPath = path;
|
MyPath = path;
|
||||||
fmtName = nm;
|
fmtName = nm;
|
||||||
//if (!fmtName.ToUpper().StartsWith("TP") && fmtName.ToUpper() != "BASE") return;
|
//if (!fmtName.ToUpper().StartsWith("WCN1") && fmtName.ToUpper() != "BASE") return;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// get the default base & plant files to use when figuring out inheritance.
|
// get the default base & plant files to use when figuring out inheritance.
|
||||||
@ -632,7 +633,7 @@ namespace fmtxml
|
|||||||
PSItem [] Fpsitms = null;
|
PSItem [] Fpsitms = null;
|
||||||
bool isfirst=true;
|
bool isfirst=true;
|
||||||
int cnt = 0;
|
int cnt = 0;
|
||||||
|
uint prevstyleForcheckoff = 0;
|
||||||
while ((vnum = brFmt.ReadInt16()) != 0)
|
while ((vnum = brFmt.ReadInt16()) != 0)
|
||||||
{
|
{
|
||||||
long fseek = brFmt.BaseStream.Position;
|
long fseek = brFmt.BaseStream.Position;
|
||||||
@ -651,13 +652,18 @@ namespace fmtxml
|
|||||||
if ((etmpjust & E_PageStructMod.PSLeft) == E_PageStructMod.PSLeft) adj = 0;
|
if ((etmpjust & E_PageStructMod.PSLeft) == E_PageStructMod.PSLeft) adj = 0;
|
||||||
if ((etmpjust & E_PageStructMod.PSRight) == E_PageStructMod.PSRight) adj *= 2;
|
if ((etmpjust & E_PageStructMod.PSRight) == E_PageStructMod.PSRight) adj *= 2;
|
||||||
uint tmpstyle = brFmt.ReadUInt32();
|
uint tmpstyle = brFmt.ReadUInt32();
|
||||||
|
|
||||||
pi.Style = new VE_Font(tmpstyle);
|
pi.Style = new VE_Font(tmpstyle);
|
||||||
string tkn = DoReplaceTokens(GetAsciiStringUntilNull(brFmt));
|
string tkn = DoReplaceTokens(GetAsciiStringUntilNull(brFmt));
|
||||||
// see if any initial line draw chars are in token (WCN2 and others). If so,
|
// see if any initial line draw chars are in token (WCN2 and others). If so,
|
||||||
// remove the line draw & its following space. Also adjust the column.
|
// remove the line draw & its following space. Also adjust the column.
|
||||||
int coladj = 0; // see if any initial draw chars are included and if so remove.
|
int coladj = 0; // see if any initial draw chars are included and if so remove.
|
||||||
pi.Token = tkn==null||tkn==""?tkn:RemoveInitialLineDraw(tkn, ref coladj);
|
pi.Token = tkn==null||tkn==""?tkn:RemoveInitialLineDraw(tkn, ref coladj);
|
||||||
pi.Col = ColToPoints(lcol + coladj + adj, tmpstyle);
|
bool isChkOffHeading = false;
|
||||||
|
if (pi.Token != null && pi.Token.Contains("CHKOFFHEADING")) isChkOffHeading = true;
|
||||||
|
pi.Col = ColToPoints(lcol + coladj + adj, isChkOffHeading?prevstyleForcheckoff:tmpstyle);
|
||||||
|
prevstyleForcheckoff = tmpstyle;
|
||||||
|
//Console.WriteLine("{0}, pi.Col = {1}, style = {2}", pi.Token, pi.Col, tmpstyle);
|
||||||
if (pi.Token != null)
|
if (pi.Token != null)
|
||||||
{
|
{
|
||||||
// replace the '<' with '{' & '>' with '}'
|
// replace the '<' with '{' & '>' with '}'
|
||||||
@ -860,6 +866,8 @@ namespace fmtxml
|
|||||||
dc.EndFlag = brFmt.ReadInt16();
|
dc.EndFlag = brFmt.ReadInt16();
|
||||||
dc.EndStyle = LoadVE_Font();
|
dc.EndStyle = LoadVE_Font();
|
||||||
dc.UseCheckOffs = UseCheckOffsIn(fname.Substring(0, fname.Length - 4), dc.oldtonew);
|
dc.UseCheckOffs = UseCheckOffsIn(fname.Substring(0, fname.Length - 4), dc.oldtonew);
|
||||||
|
dc.UseColSByLevel = dc.oldtonew == 5;
|
||||||
|
|
||||||
// use the string offsets to read in the strings.
|
// use the string offsets to read in the strings.
|
||||||
int[] offst = new int[strings];
|
int[] offst = new int[strings];
|
||||||
for (int j = 0; j < strings; j++)
|
for (int j = 0; j < strings; j++)
|
||||||
|
@ -109,7 +109,7 @@ namespace fmtxml
|
|||||||
else if (text.StartsWith("\xAD\xAD"))
|
else if (text.StartsWith("\xAD\xAD"))
|
||||||
hasC0 |= AddGroupStart(sb, ref group, text).ToLower() == "c0";
|
hasC0 |= AddGroupStart(sb, ref group, text).ToLower() == "c0";
|
||||||
else if (text == "END")
|
else if (text == "END")
|
||||||
group = AndGroupEnd(sb, group);
|
group = AddGroupEnd(sb, group);
|
||||||
else if (text != "")
|
else if (text != "")
|
||||||
ProcessCommand(sb, text, file);
|
ProcessCommand(sb, text, file);
|
||||||
}
|
}
|
||||||
@ -123,15 +123,17 @@ namespace fmtxml
|
|||||||
}
|
}
|
||||||
sb.Append(string.Format("</svg>\r\n"));
|
sb.Append(string.Format("</svg>\r\n"));
|
||||||
}
|
}
|
||||||
private static bool AndGroupEnd(StringBuilder sb, bool group)
|
private static bool AddGroupEnd(StringBuilder sb, bool group)
|
||||||
{
|
{
|
||||||
if (group) sb.Append(" </g>\r\n");
|
if (group) sb.Append(" </g>\r\n");
|
||||||
group = false;
|
group = false;
|
||||||
|
_Xoff = 0;
|
||||||
|
_Yoff = 0;
|
||||||
return group;
|
return group;
|
||||||
}
|
}
|
||||||
private static string AddGroupStart(StringBuilder sb, ref bool group, string text)
|
private static string AddGroupStart(StringBuilder sb, ref bool group, string text)
|
||||||
{
|
{
|
||||||
AndGroupEnd(sb, group);
|
AddGroupEnd(sb, group);
|
||||||
group = true;
|
group = true;
|
||||||
string grpID = text.Substring(2).ToUpper();
|
string grpID = text.Substring(2).ToUpper();
|
||||||
sb.Append(string.Format(" <g id=\"{0}\">\r\n", grpID));
|
sb.Append(string.Format(" <g id=\"{0}\">\r\n", grpID));
|
||||||
@ -193,9 +195,12 @@ namespace fmtxml
|
|||||||
Converters[(int)ECommand.RTFADJ] = new Converter(AddRtfAdj);
|
Converters[(int)ECommand.RTFADJ] = new Converter(AddRtfAdj);
|
||||||
Converters[(int)ECommand.ABSOLUTE] = new Converter(AddAbsolute);
|
Converters[(int)ECommand.ABSOLUTE] = new Converter(AddAbsolute);
|
||||||
}
|
}
|
||||||
|
private static Regex regGdiAdj = new Regex(@"GDIADJ ([-0-9]*) ([-0-9]*)$", RegexOptions.Multiline);
|
||||||
private static void AddGdiAdj(StringBuilder sb, string text)
|
private static void AddGdiAdj(StringBuilder sb, string text)
|
||||||
{
|
{
|
||||||
// May need to do something with this
|
Match gdiadjMatch = regGdiAdj.Match(text);
|
||||||
|
_Xoff = int.Parse(gdiadjMatch.Groups[1].Value);
|
||||||
|
_Yoff = int.Parse(gdiadjMatch.Groups[2].Value);
|
||||||
}
|
}
|
||||||
private static void AddAbsolute(StringBuilder sb, string text)
|
private static void AddAbsolute(StringBuilder sb, string text)
|
||||||
{
|
{
|
||||||
@ -216,8 +221,8 @@ namespace fmtxml
|
|||||||
string bmHeight = bmp.Height.ToString() + "px";
|
string bmHeight = bmp.Height.ToString() + "px";
|
||||||
//Console.WriteLine("'{0}'", bmFileName);
|
//Console.WriteLine("'{0}'", bmFileName);
|
||||||
sb.Append(string.Format(" <image x=\"{0}\" y=\"{1}\" width=\"{2}\" height=\"{3}\" bname=\"{4}\"/>\r\n",
|
sb.Append(string.Format(" <image x=\"{0}\" y=\"{1}\" width=\"{2}\" height=\"{3}\" bname=\"{4}\"/>\r\n",
|
||||||
TwipsToPoints(bitmapMatch.Groups[1].Value),
|
TwipsToPointsX(bitmapMatch.Groups[1].Value),
|
||||||
TwipsToPoints(bitmapMatch.Groups[2].Value),
|
TwipsToPointsY(bitmapMatch.Groups[2].Value),
|
||||||
bmWidth,
|
bmWidth,
|
||||||
bmHeight,
|
bmHeight,
|
||||||
bmFileName));
|
bmFileName));
|
||||||
@ -228,8 +233,8 @@ namespace fmtxml
|
|||||||
Match textMatch = regText.Match(text);
|
Match textMatch = regText.Match(text);
|
||||||
|
|
||||||
sb.Append(string.Format(" <text x=\"{0}\" y=\"{1}\" font-family=\"{3}\" font-size=\"{2}\" {4}>{5}</text>\r\n",
|
sb.Append(string.Format(" <text x=\"{0}\" y=\"{1}\" font-family=\"{3}\" font-size=\"{2}\" {4}>{5}</text>\r\n",
|
||||||
TwipsToPoints(textMatch.Groups[1].Value),
|
TwipsToPointsX(textMatch.Groups[1].Value),
|
||||||
TwipsToPoints(textMatch.Groups[2].Value),
|
TwipsToPointsY(textMatch.Groups[2].Value),
|
||||||
FontSizeToPoints(textMatch.Groups[3].Value),
|
FontSizeToPoints(textMatch.Groups[3].Value),
|
||||||
FontToFamily(textMatch.Groups[4].Value),
|
FontToFamily(textMatch.Groups[4].Value),
|
||||||
FontStyle(textMatch.Groups[5].Value),
|
FontStyle(textMatch.Groups[5].Value),
|
||||||
@ -240,8 +245,8 @@ namespace fmtxml
|
|||||||
{
|
{
|
||||||
Match ellipseMatch = regEllipse.Match(text);
|
Match ellipseMatch = regEllipse.Match(text);
|
||||||
sb.Append(string.Format(" <ellipse cx=\"{0}\" cy=\"{1}\" rx=\"{2}\" ry=\"{3}\" fill=\"none\" stroke=\"black\" stroke-width=\"{4}\" />\r\n",
|
sb.Append(string.Format(" <ellipse cx=\"{0}\" cy=\"{1}\" rx=\"{2}\" ry=\"{3}\" fill=\"none\" stroke=\"black\" stroke-width=\"{4}\" />\r\n",
|
||||||
TwipsToPoints(ellipseMatch.Groups[1].Value),
|
TwipsToPointsX(ellipseMatch.Groups[1].Value),
|
||||||
TwipsToPoints(ellipseMatch.Groups[2].Value),
|
TwipsToPointsY(ellipseMatch.Groups[2].Value),
|
||||||
TwipsToPoints(ellipseMatch.Groups[3].Value),
|
TwipsToPoints(ellipseMatch.Groups[3].Value),
|
||||||
TwipsToPoints(ellipseMatch.Groups[4].Value),
|
TwipsToPoints(ellipseMatch.Groups[4].Value),
|
||||||
TwipsToPoints(ellipseMatch.Groups[5].Value)));
|
TwipsToPoints(ellipseMatch.Groups[5].Value)));
|
||||||
@ -251,21 +256,23 @@ namespace fmtxml
|
|||||||
{
|
{
|
||||||
Match boxMatch = regBox.Match(text);
|
Match boxMatch = regBox.Match(text);
|
||||||
sb.Append(string.Format(" <rect x=\"{0}\" y=\"{1}\" width=\"{2}\" height=\"{3}\" fill=\"none\" stroke=\"black\" stroke-width=\"{4}\" />\r\n",
|
sb.Append(string.Format(" <rect x=\"{0}\" y=\"{1}\" width=\"{2}\" height=\"{3}\" fill=\"none\" stroke=\"black\" stroke-width=\"{4}\" />\r\n",
|
||||||
TwipsToPoints(boxMatch.Groups[1].Value),
|
TwipsToPointsX(boxMatch.Groups[1].Value),
|
||||||
TwipsToPoints(boxMatch.Groups[2].Value),
|
TwipsToPointsY(boxMatch.Groups[2].Value),
|
||||||
TwipsToPoints(boxMatch.Groups[3].Value),
|
TwipsToPoints(boxMatch.Groups[3].Value),
|
||||||
TwipsToPoints(boxMatch.Groups[4].Value),
|
TwipsToPoints(boxMatch.Groups[4].Value),
|
||||||
TwipsToPoints(boxMatch.Groups[5].Value)));
|
TwipsToPoints(boxMatch.Groups[5].Value)));
|
||||||
}
|
}
|
||||||
|
private static int _Xoff = 0;
|
||||||
|
private static int _Yoff = 0;
|
||||||
private static Regex regLine = new Regex(@"LINE ([-0-9]*) ([-0-9]*) ([-0-9]*) ([-0-9]*) ([-0-9]*)", RegexOptions.Multiline);
|
private static Regex regLine = new Regex(@"LINE ([-0-9]*) ([-0-9]*) ([-0-9]*) ([-0-9]*) ([-0-9]*)", RegexOptions.Multiline);
|
||||||
private static void AddLine(StringBuilder sb, string text)
|
private static void AddLine(StringBuilder sb, string text)
|
||||||
{
|
{
|
||||||
Match lineMatch = regLine.Match(text);
|
Match lineMatch = regLine.Match(text);
|
||||||
sb.Append(string.Format(" <line x1=\"{0}\" y1=\"{1}\" x2=\"{2}\" y2=\"{3}\" stroke=\"black\" stroke-width=\"{4}\" />\r\n",
|
sb.Append(string.Format(" <line x1=\"{0}\" y1=\"{1}\" x2=\"{2}\" y2=\"{3}\" stroke=\"black\" stroke-width=\"{4}\" />\r\n",
|
||||||
TwipsToPoints(lineMatch.Groups[1].Value),
|
TwipsToPointsX(lineMatch.Groups[1].Value),
|
||||||
TwipsToPoints(lineMatch.Groups[2].Value),
|
TwipsToPointsY(lineMatch.Groups[2].Value),
|
||||||
TwipsToPoints(lineMatch.Groups[3].Value) + TwipsToPoints(lineMatch.Groups[1].Value),
|
TwipsToPoints(lineMatch.Groups[3].Value) + TwipsToPointsX(lineMatch.Groups[1].Value),
|
||||||
TwipsToPoints(lineMatch.Groups[4].Value) + TwipsToPoints(lineMatch.Groups[2].Value),
|
TwipsToPoints(lineMatch.Groups[4].Value) + TwipsToPointsY(lineMatch.Groups[2].Value),
|
||||||
TwipsToPoints(lineMatch.Groups[5].Value)));
|
TwipsToPoints(lineMatch.Groups[5].Value)));
|
||||||
}
|
}
|
||||||
private static string FontStyle(string style)
|
private static string FontStyle(string style)
|
||||||
@ -315,6 +322,14 @@ namespace fmtxml
|
|||||||
{
|
{
|
||||||
return float.Parse(twips) / 20;
|
return float.Parse(twips) / 20;
|
||||||
}
|
}
|
||||||
|
private static float TwipsToPointsX(string twips)
|
||||||
|
{
|
||||||
|
return (_Xoff + float.Parse(twips)) / 20;
|
||||||
|
}
|
||||||
|
private static float TwipsToPointsY(string twips)
|
||||||
|
{
|
||||||
|
return (_Yoff + float.Parse(twips)) / 20;
|
||||||
|
}
|
||||||
private static float FontSizeToPoints(string fontSize)
|
private static float FontSizeToPoints(string fontSize)
|
||||||
{
|
{
|
||||||
return float.Parse(fontSize) / 2;
|
return float.Parse(fontSize) / 2;
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
<xsl:apply-templates select="numberingsequence"/>
|
<xsl:apply-templates select="numberingsequence"/>
|
||||||
<xsl:apply-templates select="IsStepSection"/>
|
<xsl:apply-templates select="IsStepSection"/>
|
||||||
<xsl:apply-templates select="UseCheckOffs"/>
|
<xsl:apply-templates select="UseCheckOffs"/>
|
||||||
|
<xsl:apply-templates select ="UseColSByLevel"/>
|
||||||
<xsl:apply-templates select="oldtonew"/>
|
<xsl:apply-templates select="oldtonew"/>
|
||||||
<xsl:apply-templates select="CancelSectTitle"/>
|
<xsl:apply-templates select="CancelSectTitle"/>
|
||||||
<xsl:apply-templates select="SpecialStepsFoldout"/>
|
<xsl:apply-templates select="SpecialStepsFoldout"/>
|
||||||
@ -39,6 +40,11 @@
|
|||||||
<xsl:value-of select="."/>
|
<xsl:value-of select="."/>
|
||||||
</xsl:attribute>
|
</xsl:attribute>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
<xsl:template match="UseColSByLevel">
|
||||||
|
<xsl:attribute name="UseColSByLevel">
|
||||||
|
<xsl:value-of select="."/>
|
||||||
|
</xsl:attribute>
|
||||||
|
</xsl:template>
|
||||||
<xsl:template match="oldtonew">
|
<xsl:template match="oldtonew">
|
||||||
<xsl:attribute name="OldToNew"><xsl:value-of select="."/></xsl:attribute>
|
<xsl:attribute name="OldToNew"><xsl:value-of select="."/></xsl:attribute>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user