mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-04-07 13:55:33 +08:00
Compare commits
27 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b20ce89c09 | |||
| 95166978ce | |||
| 25bab94a86 | |||
| 25523589e7 | |||
| db45280e10 | |||
| eda60dc030 | |||
| ab2eae32df | |||
| 364712c50f | |||
| 47058a4006 | |||
| c7fbfb9d1b | |||
| feced4ff7b | |||
| a6ef44e3fe | |||
| c7c9199fd4 | |||
| 18db1b9966 | |||
| b1686a04ba | |||
| bdf2c213c0 | |||
| 1ab560a957 | |||
| dcfe6a2362 | |||
| baebe1da12 | |||
| c8733a6d6f | |||
| ad5ed9f2e3 | |||
| bdda7e24dd | |||
| e440f92c7e | |||
| f6e9517474 | |||
| 560d76feee | |||
| e9911e72f9 | |||
| 308adb9fbe |
@ -93,8 +93,10 @@ void FormFieldData::_FFData::read(VirtualStreamReader *reader)
|
||||
{
|
||||
xstzTextDef = readXstz(reader);
|
||||
}
|
||||
|
||||
wDef = reader->ReadUInt16();
|
||||
else if (iType == 1 || iType == 2)
|
||||
{
|
||||
wDef = reader->ReadUInt16();
|
||||
}
|
||||
|
||||
xstzTextFormat = readXstz(reader);
|
||||
xstzHelpText = readXstz(reader);
|
||||
|
||||
@ -60,7 +60,7 @@ namespace DocFileFormat
|
||||
m_pXmlWriter->WriteNodeBegin( L"w:ffData");
|
||||
|
||||
m_pXmlWriter->WriteNodeBegin( L"w:name", true);
|
||||
m_pXmlWriter->WriteAttribute(L"w:val", ffData->FFData.xstzName);
|
||||
m_pXmlWriter->WriteAttribute(L"w:val", XmlUtils::EncodeXmlString(ffData->FFData.xstzName));
|
||||
m_pXmlWriter->WriteNodeEnd(L"w:name", true, true );
|
||||
|
||||
m_pXmlWriter->WriteNodeBegin(L"w:enabled", true);
|
||||
@ -76,26 +76,26 @@ namespace DocFileFormat
|
||||
{
|
||||
m_pXmlWriter->WriteNodeBegin(L"w:helpText", true);
|
||||
m_pXmlWriter->WriteAttribute(L"w:type", ffData->FFData.fOwnHelp ? L"text" : L"autoText");
|
||||
m_pXmlWriter->WriteAttribute(L"w:val", ffData->FFData.xstzHelpText);
|
||||
m_pXmlWriter->WriteAttribute(L"w:val", XmlUtils::EncodeXmlString(ffData->FFData.xstzHelpText));
|
||||
m_pXmlWriter->WriteNodeEnd(L"w:helpText", true, true);
|
||||
}
|
||||
if (false == ffData->FFData.xstzStatText.empty())
|
||||
{
|
||||
m_pXmlWriter->WriteNodeBegin(L"w:statusText", true);
|
||||
m_pXmlWriter->WriteAttribute(L"w:type", ffData->FFData.fOwnStat ? L"text" : L"autoText");
|
||||
m_pXmlWriter->WriteAttribute(L"w:val", ffData->FFData.xstzStatText);
|
||||
m_pXmlWriter->WriteAttribute(L"w:val", XmlUtils::EncodeXmlString(ffData->FFData.xstzStatText));
|
||||
m_pXmlWriter->WriteNodeEnd(L"w:statusText", true, true);
|
||||
}
|
||||
if (false == ffData->FFData.xstzEntryMcr.empty())
|
||||
{
|
||||
m_pXmlWriter->WriteNodeBegin(L"w:entryMacro", true);
|
||||
m_pXmlWriter->WriteAttribute(L"w:val", ffData->FFData.xstzEntryMcr);
|
||||
m_pXmlWriter->WriteAttribute(L"w:val", XmlUtils::EncodeXmlString(ffData->FFData.xstzEntryMcr));
|
||||
m_pXmlWriter->WriteNodeEnd(L"w:entryMacro", true, true);
|
||||
}
|
||||
if (false == ffData->FFData.xstzExitMcr.empty())
|
||||
{
|
||||
m_pXmlWriter->WriteNodeBegin(L"w:exitMacro", true);
|
||||
m_pXmlWriter->WriteAttribute(L"w:val", ffData->FFData.xstzExitMcr);
|
||||
m_pXmlWriter->WriteAttribute(L"w:val", XmlUtils::EncodeXmlString(ffData->FFData.xstzExitMcr));
|
||||
m_pXmlWriter->WriteNodeEnd(L"w:exitMacro", true, true);
|
||||
}
|
||||
if (ffData->FFData.iType == 1)
|
||||
|
||||
@ -389,10 +389,12 @@ public:
|
||||
docRGB Color;
|
||||
docRGB Fill;
|
||||
CThemeColor ThemeColor;
|
||||
CThemeColor ThemeFill;
|
||||
|
||||
bool bValue = false;
|
||||
bool bColor = false;
|
||||
bool bThemeColor = false;
|
||||
bool bThemeFill = false;
|
||||
bool bFill = false;
|
||||
|
||||
Shd(){}
|
||||
@ -400,7 +402,7 @@ public:
|
||||
std::wstring ToString()
|
||||
{
|
||||
std::wstring sShd;
|
||||
if(bValue || bColor || (bThemeColor && ThemeColor.IsNoEmpty()))
|
||||
if(bValue || bColor || (bThemeColor && ThemeColor.IsNoEmpty()) || (bThemeFill && ThemeFill.IsNoEmpty()))
|
||||
{
|
||||
sShd += L"<w:shd";
|
||||
if(bValue)
|
||||
@ -452,14 +454,11 @@ public:
|
||||
sShd += L" w:color=\"" + Color.ToString() + L"\"";
|
||||
|
||||
if (bFill)
|
||||
sShd += L" w:fill=\"#" + Fill.ToString() + L"\"";
|
||||
sShd += L" w:fill=\"" + Fill.ToString() + L"\"";
|
||||
|
||||
if (!bColor && !bFill)
|
||||
sShd += L" w:color=\"auto\"";
|
||||
|
||||
if(bThemeColor && ThemeColor.IsNoEmpty())
|
||||
{
|
||||
if(ThemeColor.Auto && !bColor && !bFill)
|
||||
if(ThemeColor.Auto && !bFill)
|
||||
sShd += L" w:fill=\"auto\"";
|
||||
if(ThemeColor.bColor)
|
||||
sShd += L" w:themeFill=\"" + ThemeColor.ToStringColor() + L"\"";
|
||||
@ -468,6 +467,17 @@ public:
|
||||
if(ThemeColor.bShade)
|
||||
sShd += L" w:themeFillShade=\"" + ThemeColor.ToStringShade() + L"\"";
|
||||
}
|
||||
if(bThemeFill && ThemeFill.IsNoEmpty())
|
||||
{
|
||||
if(ThemeFill.Auto && !bColor)
|
||||
sShd += L" w:color=\"auto\"";
|
||||
if(ThemeFill.bColor)
|
||||
sShd += L" w:themeColor=\"" + ThemeFill.ToStringColor() + L"\"";
|
||||
if(ThemeFill.bTint)
|
||||
sShd += L" w:themeTint=\"" + ThemeFill.ToStringTint() + L"\"";
|
||||
if(ThemeFill.bShade)
|
||||
sShd += L" w:themeShade=\"" + ThemeFill.ToStringShade() + L"\"";
|
||||
}
|
||||
sShd += L"/>";
|
||||
}
|
||||
return sShd;
|
||||
|
||||
@ -313,6 +313,10 @@ int Binary_CommonReader2::ReadShd(BYTE type, long length, void* poResult)
|
||||
pShd->bFill = true;
|
||||
pShd->Fill = ReadColor();
|
||||
break;
|
||||
case c_oSerShdType::FillTheme:
|
||||
pShd->bThemeFill = true;
|
||||
ReadThemeColor(length, pShd->ThemeFill);
|
||||
break;
|
||||
default:
|
||||
res = c_oSerConstants::ReadUnknown;
|
||||
break;
|
||||
|
||||
@ -754,7 +754,8 @@ extern int g_nCurFormatVersion;
|
||||
Value = 0,
|
||||
Color = 1,
|
||||
ColorTheme = 2,
|
||||
Fill = 3
|
||||
Fill = 3,
|
||||
FillTheme = 4
|
||||
};}
|
||||
namespace c_oSerPaddingType{enum c_oSerPaddingType
|
||||
{
|
||||
|
||||
@ -316,6 +316,8 @@ void BinaryCommonWriter::WriteShd(const ComplexTypes::Word::CShading& Shd)
|
||||
//Fill
|
||||
if (false != Shd.m_oFill.IsInit())
|
||||
WriteColor(c_oSerShdType::Fill, Shd.m_oFill.get());
|
||||
|
||||
WriteThemeColor(c_oSerShdType::FillTheme, Shd.m_oColor, Shd.m_oThemeColor, Shd.m_oThemeTint, Shd.m_oThemeShade);
|
||||
}
|
||||
void BinaryCommonWriter::WritePaddings(const nullable<SimpleTypes::CTwipsMeasure>& left, const nullable<SimpleTypes::CTwipsMeasure>& top,
|
||||
const nullable<SimpleTypes::CTwipsMeasure>& right, const nullable<SimpleTypes::CTwipsMeasure>& bottom)
|
||||
|
||||
@ -1660,7 +1660,13 @@ void ods_table_state::start_conditional_rule(int rule_type)
|
||||
boost::algorithm::split(splitted, test, boost::algorithm::is_any_of(L":"), boost::algorithm::token_compress_on);
|
||||
cell = splitted[0];
|
||||
|
||||
condition->attr_.calcext_base_cell_address_ = table + cell;
|
||||
std::wstring col, row;
|
||||
|
||||
utils::splitCellAddress(cell, col, row);
|
||||
if (col.empty()) col = L".A";
|
||||
if (row.empty()) row = L"1";
|
||||
|
||||
condition->attr_.calcext_base_cell_address_ = table + col + row;
|
||||
}
|
||||
switch(rule_type)
|
||||
{
|
||||
|
||||
@ -154,8 +154,8 @@ namespace utils
|
||||
if (strCol.empty() || strRow.empty())
|
||||
return;
|
||||
|
||||
col = getColAddressInv(strCol)+1;
|
||||
row = getRowAdderssInv(strRow)+1;
|
||||
col = getColAddressInv(strCol) + 1;
|
||||
row = getRowAdderssInv(strRow) + 1;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -74,6 +74,19 @@ namespace Oox2Odf
|
||||
{
|
||||
return (1.0 * emu / (635 * 20.0));
|
||||
}
|
||||
const double c_d_1_6 = 1.0 / 6.0;
|
||||
const double c_d_1_3 = 1.0 / 3.0;
|
||||
const double c_d_2_3 = 2.0 / 3.0;
|
||||
|
||||
inline double Hue2RGB(double dV1, double dV2, double dH)
|
||||
{
|
||||
if (dH < 0.0) dH += 1.0;
|
||||
if (dH > 1.0) dH -= 1.0;
|
||||
if (dH < c_d_1_6) return dV1 + (dV2 - dV1) * 6.0 * dH;
|
||||
if (dH < 0.5) return dV2;
|
||||
if (dH < c_d_2_3) return dV1 + (dV2 - dV1) * (c_d_2_3 - dH) * 6.0;
|
||||
return dV1;
|
||||
}
|
||||
//----------------------------------------------------------------------------------
|
||||
void OoxConverter::convert(PPTX::Logic::SpTreeElem *oox_element)
|
||||
{
|
||||
@ -136,6 +149,69 @@ void OoxConverter::convert(PPTX::Logic::NvGraphicFramePr *oox_framePr)
|
||||
if (oox_framePr == NULL) return;
|
||||
|
||||
}
|
||||
void OoxConverter::RGB2HSL(DWORD argb, double& dH, double& dS, double& dL)
|
||||
{
|
||||
unsigned char unB = (argb & 0xFF);
|
||||
unsigned char unG = (argb & 0xFF00) >> 8;
|
||||
unsigned char unR = (argb & 0xFF0000) >> 16;
|
||||
|
||||
int nmin = (std::min)(unR, (std::min)(unG, unB));
|
||||
int nmax = (std::max)(unR, (std::max)(unG, unB));
|
||||
int nDelta = nmax - nmin;
|
||||
double dmax = (nmax + nmin) / 255.0;
|
||||
double dDelta = nDelta / 255.0;
|
||||
|
||||
dL = dmax / 2.0;
|
||||
|
||||
if (0 == nDelta) //This is a gray, no chroma...
|
||||
{
|
||||
dH = 0.0;
|
||||
dS = 0.0;
|
||||
}
|
||||
else //Chromatic data...
|
||||
{
|
||||
if (dL < 0.5) dS = dDelta / dmax;
|
||||
else dS = dDelta / (2.0 - dmax);
|
||||
|
||||
dDelta = dDelta * 1530.0;
|
||||
|
||||
double dR = (nmax - unR) / dDelta;
|
||||
double dG = (nmax - unG) / dDelta;
|
||||
double dB = (nmax - unB) / dDelta;
|
||||
|
||||
if (unR == nmax) dH = dB - dG;
|
||||
else if (unG == nmax) dH = c_d_1_3 + dR - dB;
|
||||
else if (unB == nmax) dH = c_d_2_3 + dG - dR;
|
||||
|
||||
if (dH < 0.0) dH += 1.0;
|
||||
if (dH > 1.0) dH -= 1.0;
|
||||
}
|
||||
}
|
||||
|
||||
DWORD OoxConverter::HSL2RGB(double dH, double dS, double dL)
|
||||
{
|
||||
unsigned char unR, unG, unB;
|
||||
|
||||
if (0 == dS)
|
||||
{
|
||||
unR = static_cast<unsigned char>(255 * dL);
|
||||
unG = static_cast<unsigned char>(255 * dL);
|
||||
unB = static_cast<unsigned char>(255 * dL);
|
||||
}
|
||||
else
|
||||
{
|
||||
double dV2;
|
||||
if (dL < 0.5) dV2 = dL * (1.0 + dS);
|
||||
else dV2 = dL + dS - dS * dL;
|
||||
|
||||
double dV1 = 2.0 * dL - dV2;
|
||||
|
||||
unR = static_cast<unsigned char>(255 * Hue2RGB(dV1, dV2, dH + c_d_1_3));
|
||||
unG = static_cast<unsigned char>(255 * Hue2RGB(dV1, dV2, dH));
|
||||
unB = static_cast<unsigned char>(255 * Hue2RGB(dV1, dV2, dH - c_d_1_3));
|
||||
}
|
||||
return (unR << 16) | (unG << 8) | unB;
|
||||
}
|
||||
|
||||
void OoxConverter::convert(PPTX::Logic::Xfrm *oox_xfrm)
|
||||
{
|
||||
|
||||
@ -574,8 +574,11 @@ public:
|
||||
void convert(OOX::Vml::CVmlCommonElements *vml_attr);
|
||||
void convert(OOX::Vml::CFormulas *vml_formulas);
|
||||
|
||||
void convert(OOX::Drawing::COfficeArtExtensionList *ext_list);
|
||||
void convert(OOX::Drawing::COfficeArtExtension *art_ext);
|
||||
void convert(OOX::Drawing::COfficeArtExtensionList *ext_list);
|
||||
void convert(OOX::Drawing::COfficeArtExtension *art_ext);
|
||||
//-----------------------------------
|
||||
void RGB2HSL(DWORD argb, double& dH, double& dS, double& dL);
|
||||
DWORD HSL2RGB(double dH, double dS, double dL);
|
||||
};
|
||||
|
||||
} // namespace Oox2Odf
|
||||
|
||||
@ -1695,10 +1695,15 @@ void DocxConverter::convert( ComplexTypes::Word::CShading* shading, _CP_OPT(odf_
|
||||
}
|
||||
}
|
||||
convert(NULL, shading->m_oThemeFill.GetPointer(),
|
||||
shading->m_oThemeFillTint.GetPointer(), shading->m_oThemeShade.GetPointer(), odf_color);
|
||||
shading->m_oThemeFillTint.GetPointer(), shading->m_oThemeFillShade.GetPointer(), odf_color);
|
||||
|
||||
if (odf_color) return;
|
||||
|
||||
convert(NULL, shading->m_oThemeColor.GetPointer(),
|
||||
shading->m_oThemeTint.GetPointer(), shading->m_oThemeShade.GetPointer(), odf_color);
|
||||
|
||||
if (odf_color) return;
|
||||
|
||||
if (bColor)
|
||||
{
|
||||
BYTE ucR = 0xff, ucB = 0xff, ucG = 0xff;
|
||||
@ -2446,7 +2451,7 @@ void DocxConverter::convert(ComplexTypes::Word::CPageBorder *borderProp, std::ws
|
||||
if (borderProp->m_oColor.IsInit())
|
||||
{
|
||||
if (borderProp->m_oColor->GetValue() != SimpleTypes::hexcolorAuto)
|
||||
convert(borderProp->m_oColor.GetPointer(), borderProp->m_oThemeColor.GetPointer(), borderProp->m_oThemeTint.GetPointer(),borderProp->m_oThemeShade.GetPointer(), color);
|
||||
convert(borderProp->m_oColor.GetPointer(), borderProp->m_oThemeColor.GetPointer(), borderProp->m_oThemeTint.GetPointer(), borderProp->m_oThemeShade.GetPointer(), color);
|
||||
}
|
||||
if (color) border_color = color->get_hex_value();
|
||||
else border_color = L"000000";
|
||||
@ -2458,10 +2463,6 @@ void DocxConverter::convert(ComplexTypes::Word::CBorder *borderProp, std::wstrin
|
||||
odf_border_prop = L"";
|
||||
if (!borderProp)
|
||||
return;
|
||||
//nullable<SimpleTypes::COnOff<> > m_oFrame;
|
||||
//nullable<SimpleTypes::COnOff<> > m_oShadow;
|
||||
//nullable<SimpleTypes::CPointMeasure<> > m_oSpace;
|
||||
//nullable<SimpleTypes::CUcharHexNumber<> > m_oThemeShade;
|
||||
|
||||
std::wstringstream border_style;
|
||||
std::wstring border_color;
|
||||
@ -2502,10 +2503,9 @@ void DocxConverter::convert(ComplexTypes::Word::CBorder *borderProp, std::wstrin
|
||||
///////////////////////////////////////////////////////////////////
|
||||
_CP_OPT(odf_types::color) color;
|
||||
|
||||
if (borderProp->m_oColor.IsInit())
|
||||
if (borderProp->m_oColor.IsInit() || borderProp->m_oThemeColor.IsInit())
|
||||
{
|
||||
if (borderProp->m_oColor->GetValue() != SimpleTypes::hexcolorAuto)
|
||||
convert(borderProp->m_oColor.GetPointer(), borderProp->m_oThemeColor.GetPointer(), borderProp->m_oThemeTint.GetPointer(),borderProp->m_oThemeShade.GetPointer(), color);
|
||||
convert(borderProp->m_oColor.GetPointer(), borderProp->m_oThemeColor.GetPointer(), borderProp->m_oThemeTint.GetPointer(),borderProp->m_oThemeShade.GetPointer(), color);
|
||||
}
|
||||
if (color) border_color = color->get_hex_value();
|
||||
else border_color = L"000000";
|
||||
@ -3478,27 +3478,33 @@ void DocxConverter::convert(SimpleTypes::CHexColor<> *color,
|
||||
odf_color = boost::none;
|
||||
|
||||
bool result = false;
|
||||
|
||||
if(color && color->GetValue() == SimpleTypes::hexcolorRGB)//easy, faster,realy !!
|
||||
if (color)
|
||||
{
|
||||
unsigned char ucA=0, ucR=0, ucG=0, ucB=0;
|
||||
|
||||
ucR = color->Get_R();
|
||||
ucB = color->Get_B();
|
||||
ucG = color->Get_G();
|
||||
ucA = color->Get_A();
|
||||
|
||||
SimpleTypes::CHexColor<> *oRgbColor = new SimpleTypes::CHexColor<>(ucR, ucG, ucB);
|
||||
|
||||
if ((oRgbColor) && (oRgbColor->GetValue() == SimpleTypes::hexcolorRGB ))
|
||||
if (color->GetValue() == SimpleTypes::hexcolorAuto)
|
||||
{
|
||||
std::wstring strColor = L"#" + oRgbColor->ToString().substr(2);//.Right(6);
|
||||
|
||||
odf_color = odf_types::color(strColor);
|
||||
result = true;
|
||||
return;
|
||||
}
|
||||
else if (color->GetValue() == SimpleTypes::hexcolorRGB)
|
||||
{
|
||||
unsigned char ucA = 0, ucR = 0, ucG = 0, ucB = 0;
|
||||
|
||||
ucR = color->Get_R();
|
||||
ucB = color->Get_B();
|
||||
ucG = color->Get_G();
|
||||
ucA = color->Get_A();
|
||||
|
||||
SimpleTypes::CHexColor<> *oRgbColor = new SimpleTypes::CHexColor<>(ucR, ucG, ucB);
|
||||
|
||||
if ((oRgbColor) && (oRgbColor->GetValue() == SimpleTypes::hexcolorRGB))
|
||||
{
|
||||
std::wstring strColor = L"#" + oRgbColor->ToString().substr(2);//.Right(6);
|
||||
|
||||
odf_color = odf_types::color(strColor);
|
||||
result = true;
|
||||
}
|
||||
if (oRgbColor)
|
||||
delete oRgbColor;
|
||||
}
|
||||
if (oRgbColor)
|
||||
delete oRgbColor;
|
||||
}
|
||||
if(theme_color && result == false)
|
||||
{
|
||||
@ -3524,10 +3530,24 @@ void DocxConverter::convert(SimpleTypes::CHexColor<> *color,
|
||||
}
|
||||
if (pFind != docx_document->m_pTheme->themeElements.clrScheme.Scheme.end())
|
||||
{
|
||||
PPTX::Logic::UniColor & color = pFind->second;
|
||||
|
||||
DWORD argb = color.GetARGB();
|
||||
DWORD argb = pFind->second.GetARGB();
|
||||
|
||||
if (theme_tint || theme_shade)
|
||||
{
|
||||
double dH, dS, dL;
|
||||
RGB2HSL(argb, dH, dS, dL);
|
||||
|
||||
if (theme_shade)
|
||||
{
|
||||
dL = dL * theme_shade->GetValue() / 255. ;
|
||||
}
|
||||
if (theme_tint)
|
||||
{
|
||||
dL = dL * theme_tint->GetValue() / 255. + (1 - theme_tint->GetValue() / 255.);
|
||||
}
|
||||
argb = HSL2RGB(dH, dS, dL);
|
||||
|
||||
}
|
||||
std::wstring strColor = XmlUtils::IntToString(argb & 0x00FFFFFF, L"#%06X");
|
||||
odf_color = odf_types::color(strColor);
|
||||
}
|
||||
|
||||
@ -411,9 +411,12 @@ void Animation::FillAudio(CRecordClientVisualElementContainer *pCVEC,
|
||||
std::vector<CRecordSoundContainer*> soundCont;
|
||||
this->m_pSoundContainer->GetRecordsByType(
|
||||
&soundCont, false);
|
||||
oAudio.cMediaNode.tgtEl.name =
|
||||
|
||||
unsigned oldId = (pCVEC->m_oVisualShapeAtom.m_nOldIdRef - m_nextRID + 1);
|
||||
if (oldId < soundCont.size())
|
||||
oAudio.cMediaNode.tgtEl.name =
|
||||
static_cast<CRecordCString*>
|
||||
(soundCont[pCVEC->m_oVisualShapeAtom.m_nOldIdRef -1]->m_arRecords[0])->m_strText;
|
||||
(soundCont[oldId]->m_arRecords[0])->m_strText;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -170,10 +170,18 @@ private:
|
||||
void InitTimingTags(PPTX::Logic::Timing &oTiming); // Initialize non-exist (in 95-97 format) struct
|
||||
void FillOldAnim(SOldAnimation& oldAnim, PPTX::Logic::TimeNodeBase &oTimeNodeBase);
|
||||
|
||||
public:
|
||||
inline void setNextRId(int nextRId)
|
||||
{
|
||||
m_nextRID = nextRId;
|
||||
}
|
||||
|
||||
private:
|
||||
unsigned m_cTnId;
|
||||
PPTX::Logic::BldLst *m_pBldLst; // Do not delete
|
||||
PPTX::Logic::BldP *m_currentBldP;
|
||||
|
||||
int m_nextRID; // it needs for audio maybe video for compisation id number;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@ -1477,6 +1477,7 @@ void PPT_FORMAT::CPPTXWriter::WriteTiming(CStringWriter& oWriter, CRelsGenerator
|
||||
oRels.WriteHyperlinkMedia(path, false, false, L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/audio");
|
||||
}
|
||||
|
||||
animation.setNextRId(oRels.getNextRId());
|
||||
animation.Convert(oTiming);
|
||||
oWriter.WriteString(oTiming.toXML());
|
||||
//oWriter.WriteString(std::wstring(L"<p:timing><p:tnLst><p:par><p:cTn id=\"1\" dur=\"indefinite\" restart=\"never\" nodeType=\"tmRoot\" /></p:par></p:tnLst></p:timing>"));
|
||||
|
||||
@ -209,6 +209,12 @@ namespace PPT_FORMAT
|
||||
m_mapHyperlinks.clear();
|
||||
}
|
||||
|
||||
inline int getNextRId()const
|
||||
{
|
||||
return m_lNextRelsID;
|
||||
}
|
||||
|
||||
|
||||
inline void StartMaster(int nIndexTheme, int nStartLayoutIndex, int nCountLayouts)
|
||||
{
|
||||
std::wstring str1 = _T("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\
|
||||
|
||||
@ -54,7 +54,7 @@ void RIDManager::setRIDfromAnimation(Animation& anim)
|
||||
setSoundRIDCollection(anim.m_pSoundContainer);
|
||||
if (anim.m_pPPT10)
|
||||
searchSound(anim.m_pPPT10->m_pExtTimeNodeContainer);
|
||||
else if (!anim.m_arrOldAnim.empty())
|
||||
if (!anim.m_arrOldAnim.empty())
|
||||
searchSound(anim.m_arrOldAnim);
|
||||
}
|
||||
|
||||
|
||||
@ -193,13 +193,14 @@ public:
|
||||
|
||||
while ( lCurLen < m_oHeader.RecLen )
|
||||
{
|
||||
LONG lPosLoop = 0;
|
||||
StreamUtils::StreamPosition ( lPosLoop, pStream );
|
||||
LONG lPosExpected = 0;
|
||||
StreamUtils::StreamPosition ( lPosExpected, pStream );
|
||||
|
||||
if ( ReadHeader.ReadFromStream(pStream) == false)
|
||||
break;
|
||||
|
||||
lCurLen += 8 + ReadHeader.RecLen;
|
||||
lPosExpected += 8 + ReadHeader.RecLen;
|
||||
|
||||
switch (ReadHeader.RecType)
|
||||
{
|
||||
@ -379,6 +380,12 @@ public:
|
||||
break;
|
||||
// throw ;
|
||||
}
|
||||
LONG lPosCurrent = 0;
|
||||
StreamUtils::StreamPosition ( lPosCurrent, pStream );
|
||||
if (lPosExpected != lPosCurrent)
|
||||
{
|
||||
StreamUtils::StreamSeek ( lPosExpected, pStream );
|
||||
}
|
||||
|
||||
}
|
||||
StreamUtils::StreamSeek ( lPos + m_oHeader.RecLen, pStream );
|
||||
|
||||
@ -54,11 +54,12 @@ public:
|
||||
if ( ReadHeader.ReadFromStream(pStream) )
|
||||
m_oAnimateBehaviorAtom.ReadFromStream ( ReadHeader, pStream );
|
||||
|
||||
if ( m_oAnimateBehaviorAtom.m_bAnimationValuesPropertyUsed )
|
||||
{
|
||||
if ( ReadHeader.ReadFromStream(pStream) )
|
||||
m_oAnimateValueList.ReadFromStream ( ReadHeader, pStream );
|
||||
}
|
||||
ReadHeader.ReadFromStream(pStream) ;
|
||||
if (ReadHeader.RecType == RT_TimeAnimationValueList)
|
||||
m_oAnimateValueList.ReadFromStream ( ReadHeader, pStream );
|
||||
else
|
||||
StreamUtils::StreamSkipBack(8, pStream);
|
||||
|
||||
|
||||
if ( m_oAnimateBehaviorAtom.m_bByPropertyUsed )
|
||||
{
|
||||
|
||||
@ -139,11 +139,19 @@ class CRecordTimeVariantString : public CRecordTimeVariant
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
if (oHeader.RecLen == 0)
|
||||
return;
|
||||
|
||||
LONG lPos; StreamUtils::StreamPosition(lPos, pStream);
|
||||
lPos += oHeader.RecLen;
|
||||
|
||||
CRecordTimeVariant::ReadFromStream(oHeader, pStream);
|
||||
|
||||
m_Value = StreamUtils::ReadStringW(pStream, m_oHeader.RecLen / 2 - 1);
|
||||
StreamUtils::StreamSkip(2, pStream);
|
||||
int strLen = m_oHeader.RecLen / 2 - 1;
|
||||
if (strLen > 0)
|
||||
{
|
||||
m_Value = StreamUtils::ReadStringW(pStream, strLen);
|
||||
}
|
||||
StreamUtils::StreamSeek(lPos, pStream);
|
||||
}
|
||||
|
||||
virtual CRecordTimeVariant& operator=(const CRecordTimeVariant& src)
|
||||
|
||||
@ -2907,7 +2907,11 @@ bool RtfParagraphPropDestination::ExecuteCommand(RtfDocument& oDocument, RtfRead
|
||||
oNewShape->m_oPicture = RtfPicturePtr( new RtfPicture() );
|
||||
|
||||
RtfPictureReader oPictureReader( oReader, *oNewShape);
|
||||
oAbstrReader.StartSubReader( oPictureReader, oDocument, oReader );
|
||||
if (false == oAbstrReader.StartSubReader(oPictureReader, oDocument, oReader))
|
||||
{
|
||||
//open-rtf-document-image-error.rtf
|
||||
oPictureReader.Parse(oDocument, oReader);
|
||||
}
|
||||
|
||||
if ( oNewShape->IsValid() )
|
||||
m_oCurParagraph->AddItem( oNewShape );
|
||||
|
||||
@ -344,7 +344,10 @@ public:
|
||||
BYTE SetShade(BYTE bShade)
|
||||
{
|
||||
m_byteShade = bShade;
|
||||
//return (BYTE)( ( 1.0 - m_byteShade / 255 ) * bColor );
|
||||
double dH, dS, dL;
|
||||
GetHSL(dH, dS, dL);
|
||||
dL = dL * bShade / 255.;
|
||||
SetHSL(dH, dS, dL);
|
||||
return bShade;
|
||||
}
|
||||
BYTE SetTint(BYTE bTint)
|
||||
|
||||
@ -150,7 +150,7 @@ function Dictionary()
|
||||
}
|
||||
|
||||
xhr.send(null);
|
||||
}
|
||||
};
|
||||
|
||||
this.load = function()
|
||||
{
|
||||
@ -199,7 +199,7 @@ function Spellchecker()
|
||||
this.languageQueue.shift();
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
this.deleteDictionaty = function(lk)
|
||||
{
|
||||
@ -218,7 +218,7 @@ function Spellchecker()
|
||||
this.freeString(engineIDptr);
|
||||
this.freeString(langAffptr);
|
||||
this.freeString(langDicptr);
|
||||
}
|
||||
};
|
||||
|
||||
this.init = function()
|
||||
{
|
||||
@ -327,7 +327,7 @@ function Spellchecker()
|
||||
{
|
||||
var inputLen = string.length;
|
||||
var testLen = 6 * inputLen + 1;
|
||||
if (testLen > this.tmpStrings.length)
|
||||
if (testLen > this.tmpStrings.byteLength)
|
||||
this.tmpStrings = new ArrayBuffer(testLen);
|
||||
|
||||
var code = 0;
|
||||
|
||||
@ -75,7 +75,6 @@
|
||||
-(JSValue*)RemoveClipRect;
|
||||
-(JSValue*)SetClip : (JSValue*)x : (JSValue*)y : (JSValue*)w : (JSValue*)h;
|
||||
-(JSValue*)RemoveClip;
|
||||
-(JSValue*)drawCollaborativeChanges : (JSValue*)x : (JSValue*)y : (JSValue*)w : (JSValue*)h : (JSValue*)r : (JSValue*)g : (JSValue*)b : (JSValue*)a;
|
||||
-(JSValue*)drawMailMergeField : (JSValue*)x : (JSValue*)y : (JSValue*)w : (JSValue*)h;
|
||||
-(JSValue*)drawSearchResult : (JSValue*)x : (JSValue*)y : (JSValue*)w : (JSValue*)h;
|
||||
-(JSValue*)drawFlowAnchor : (JSValue*)x : (JSValue*)y;
|
||||
@ -203,7 +202,6 @@ FUNCTION_WRAPPER_JS_4(AddClipRect, AddClipRect)
|
||||
FUNCTION_WRAPPER_JS (RemoveClipRect, RemoveClipRect)
|
||||
FUNCTION_WRAPPER_JS_4(SetClip, SetClip)
|
||||
FUNCTION_WRAPPER_JS(RemoveClip, RemoveClip)
|
||||
FUNCTION_WRAPPER_JS_8(drawCollaborativeChanges, drawCollaborativeChanges)
|
||||
FUNCTION_WRAPPER_JS_4(drawMailMergeField, drawMailMergeField)
|
||||
FUNCTION_WRAPPER_JS_4(drawSearchResult, drawSearchResult)
|
||||
FUNCTION_WRAPPER_JS_2(drawFlowAnchor, drawFlowAnchor)
|
||||
|
||||
@ -59,11 +59,11 @@ struct STitleInfo
|
||||
std::vector<std::wstring> m_arGenres; // Жанры
|
||||
std::vector<SAuthor> m_arAuthors; // Авторы
|
||||
std::wstring m_sBookTitle; // Название
|
||||
|
||||
std::wstring m_pKeywords; // Ключевые слова
|
||||
/*
|
||||
std::vector<SAuthor> m_arTranslator; // Переводчики
|
||||
std::wstring m_sLang; // Язык после перевода
|
||||
std::wstring* m_pKeywords; // Ключевые слова
|
||||
|
||||
std::pair<std::wstring, std::wstring>* m_pDate; // Дата
|
||||
std::wstring* m_pSrcLang; // Язык до перевода
|
||||
std::map<std::wstring, std::wstring> m_mSequence; // Серии книг
|
||||
@ -83,7 +83,6 @@ struct STitleInfo
|
||||
/*
|
||||
m_arTranslator.clear();
|
||||
m_mSequence.clear();
|
||||
RELEASEARRAYOBJECTS(m_pKeywords);
|
||||
RELEASEARRAYOBJECTS(m_pDate);
|
||||
RELEASEARRAYOBJECTS(m_pSrcLang);
|
||||
*/
|
||||
@ -216,8 +215,6 @@ public:
|
||||
m_oLightReader.Clear();
|
||||
m_mFootnotes.clear();
|
||||
m_mImages.clear();
|
||||
m_oTitleInfo.m_arAuthors.clear();
|
||||
m_oTitleInfo.m_arGenres.clear();
|
||||
/*
|
||||
m_mCustomInfo.clear();
|
||||
if(m_pSrcTitleInfo)
|
||||
@ -1317,15 +1314,10 @@ public:
|
||||
getAuthor(oTitleInfo.m_arAuthors);
|
||||
else if (sName == L"book-title")
|
||||
oTitleInfo.m_sBookTitle = content();
|
||||
/*
|
||||
// Читаем keywords (ноль или один)
|
||||
else if(sName == L"keywords")
|
||||
{
|
||||
if(oTitleInfo.m_pKeywords)
|
||||
delete[] oTitleInfo.m_pKeywords;
|
||||
oTitleInfo.m_pKeywords = new std::wstring[1];
|
||||
*oTitleInfo.m_pKeywords = content();
|
||||
}
|
||||
oTitleInfo.m_pKeywords = content();
|
||||
/*
|
||||
// Читаем date (ноль или один)
|
||||
else if(sName == L"date")
|
||||
{
|
||||
@ -1535,8 +1527,16 @@ HRESULT CFb2File::Open(const std::wstring& sPath, const std::wstring& sDirectory
|
||||
// Авторы
|
||||
oCore += L"</dc:subject><dc:creator>";
|
||||
oCore.WriteEncodeXmlString(m_internal->m_oTitleInfo.getAuthors());
|
||||
oCore.WriteString(L"</dc:creator>");
|
||||
// Ключевые слова
|
||||
if (!m_internal->m_oTitleInfo.m_pKeywords.empty())
|
||||
{
|
||||
oCore.WriteString(L"<cp:keywords>");
|
||||
oCore.WriteEncodeXmlString(m_internal->m_oTitleInfo.m_pKeywords);
|
||||
oCore.WriteString(L"</cp:keywords>");
|
||||
}
|
||||
// Конец core
|
||||
oCore += L"</dc:creator><cp:revision>1</cp:revision></cp:coreProperties>";
|
||||
oCore += L"<cp:revision>1</cp:revision></cp:coreProperties>";
|
||||
// Пишем core в файл
|
||||
NSFile::CFileBinary oCoreWriter;
|
||||
if (oCoreWriter.CreateFileW(sDocPropsDirectory + L"/core.xml"))
|
||||
@ -1810,7 +1810,7 @@ HRESULT CFb2File::FromHtml(const std::wstring& sHtmlFile, const std::wstring& sC
|
||||
oDocument.WriteString(L"<title-info>");
|
||||
std::wstring sBookTitle = sInpTitle.empty() ? NSFile::GetFileName(sDst) : sInpTitle;
|
||||
std::wstring sAuthor = sBookTitle;
|
||||
std::wstring sAnnotation, sKeywords;
|
||||
std::wstring sAnnotation, sKeywords, sGenre;
|
||||
std::wstring sLanguage = L"en-EN", sVersion = L"1.0";
|
||||
std::wstring sIdentifier = GenerateUUID();
|
||||
XmlUtils::CXmlLiteReader oCoreReader;
|
||||
@ -1826,8 +1826,10 @@ HRESULT CFb2File::FromHtml(const std::wstring& sHtmlFile, const std::wstring& sC
|
||||
sBookTitle = oCoreReader.GetText2();
|
||||
else if (sName == L"dc:description")
|
||||
sAnnotation = oCoreReader.GetText2();
|
||||
else if (sName == L"dc:subject" || sName == L"cp:keywords")
|
||||
sKeywords += oCoreReader.GetText2() + L' ';
|
||||
else if (sName == L"dc:subject")
|
||||
sGenre = oCoreReader.GetText2();
|
||||
else if (sName == L"cp:keywords")
|
||||
sKeywords = oCoreReader.GetText2();
|
||||
else if (sName == L"dc:identifier")
|
||||
sIdentifier = oCoreReader.GetText2();
|
||||
else if (sName == L"dc:language")
|
||||
@ -1836,7 +1838,9 @@ HRESULT CFb2File::FromHtml(const std::wstring& sHtmlFile, const std::wstring& sC
|
||||
sVersion = oCoreReader.GetText2();
|
||||
}
|
||||
|
||||
oDocument.WriteString(L"<genre>dramaturgy</genre><author><nickname>");
|
||||
oDocument.WriteString(L"<genre>");
|
||||
oDocument.WriteString(sGenre);
|
||||
oDocument.WriteString(L"</genre><author><nickname>");
|
||||
oDocument.WriteString(sAuthor);
|
||||
oDocument.WriteString(L"</nickname></author><book-title>");
|
||||
oDocument.WriteString(sBookTitle);
|
||||
|
||||
@ -972,7 +972,7 @@ private:
|
||||
return true;
|
||||
}
|
||||
|
||||
void readTr (NSStringUtils::CStringBuilder* oXml, std::vector<NSCSS::CNode>& sSelectors, const CTextSettings& oTS, bool& bWasP, bool bNeedBorder)
|
||||
void readTr (NSStringUtils::CStringBuilder* oXml, std::vector<NSCSS::CNode>& sSelectors, const CTextSettings& oTS, bool& bWasP, const std::wstring& sBorders)
|
||||
{
|
||||
std::vector<CTc> mTable;
|
||||
int nDeath = m_oLightReader.GetDepth();
|
||||
@ -1013,10 +1013,7 @@ private:
|
||||
while(it1 != mTable.end() || it2 != mTable.end())
|
||||
{
|
||||
oXml->WriteString(L"<w:tc><w:tcPr><w:textDirection w:val=\"lrTb\"/><w:noWrap w:val=\"false\"/><w:tcBorders>");
|
||||
if(bNeedBorder)
|
||||
oXml->WriteString(L"<w:left w:val=\"single\" w:color=\"000000\" w:sz=\"4\" w:space=\"0\"/><w:top w:val=\"single\" w:color=\"000000\" w:sz=\"4\" w:space=\"0\"/><w:right w:val=\"single\" w:color=\"000000\" w:sz=\"4\" w:space=\"0\"/><w:bottom w:val=\"single\" w:color=\"000000\" w:sz=\"4\" w:space=\"0\"/>");
|
||||
else
|
||||
oXml->WriteString(L"<w:left w:val=\"none\" w:color=\"000000\"/><w:top w:val=\"none\" w:color=\"000000\"/><w:right w:val=\"none\" w:color=\"000000\"/><w:bottom w:val=\"none\" w:color=\"000000\"/>");
|
||||
oXml->WriteString(!sBorders.empty() ? sBorders : L"<w:left w:val=\"none\" w:color=\"000000\"/><w:top w:val=\"none\" w:color=\"000000\"/><w:right w:val=\"none\" w:color=\"000000\"/><w:bottom w:val=\"none\" w:color=\"000000\"/>");
|
||||
oXml->WriteString(L"</w:tcBorders><w:vMerge w:val=\"continue\"/><w:gridSpan w:val=\"");
|
||||
std::wstring sCol = (it1 != mTable.end() ? it1->sGridSpan : it2->sGridSpan);
|
||||
oXml->WriteString(sCol);
|
||||
@ -1026,11 +1023,9 @@ private:
|
||||
it2 = std::find_if(mTable.begin(), mTable.end(), [j] (const CTc& item){ return item.i == 0 && item.j == j; });
|
||||
}
|
||||
|
||||
oXml->WriteString(L"<w:tc><w:tcPr><w:textDirection w:val=\"lrTb\"/><w:noWrap w:val=\"false\"/>");
|
||||
if (bNeedBorder)
|
||||
oXml->WriteString(L"<w:tcBorders><w:left w:val=\"single\" w:color=\"000000\" w:sz=\"4\" w:space=\"0\"/><w:top w:val=\"single\" w:color=\"000000\" w:sz=\"4\" w:space=\"0\"/><w:right w:val=\"single\" w:color=\"000000\" w:sz=\"4\" w:space=\"0\"/><w:bottom w:val=\"single\" w:color=\"000000\" w:sz=\"4\" w:space=\"0\"/></w:tcBorders>");
|
||||
else
|
||||
oXml->WriteString(L"<w:tcBorders><w:left w:val=\"none\" w:color=\"000000\"/><w:top w:val=\"none\" w:color=\"000000\"/><w:right w:val=\"none\" w:color=\"000000\"/><w:bottom w:val=\"none\" w:color=\"000000\"/></w:tcBorders>");
|
||||
oXml->WriteString(L"<w:tc><w:tcPr><w:textDirection w:val=\"lrTb\"/><w:noWrap w:val=\"false\"/><w:tcBorders>");
|
||||
oXml->WriteString(!sBorders.empty() ? sBorders : L"<w:left w:val=\"none\" w:color=\"000000\"/><w:top w:val=\"none\" w:color=\"000000\"/><w:right w:val=\"none\" w:color=\"000000\"/><w:bottom w:val=\"none\" w:color=\"000000\"/>");
|
||||
oXml->WriteString(L"</w:tcBorders>");
|
||||
if(nRowspan != 1)
|
||||
{
|
||||
oXml->WriteString(L"<w:vMerge w:val=\"restart\"/>");
|
||||
@ -1067,6 +1062,11 @@ private:
|
||||
sSelectors.pop_back();
|
||||
for(size_t i = 0; i < nHyp; i++)
|
||||
oXml->WriteString(L"</w:hyperlink>");
|
||||
if (bWasP)
|
||||
{
|
||||
wrP(oXml, sSelectors, oTS, bWasP);
|
||||
oXml->WriteString(L"<w:r></w:r>");
|
||||
}
|
||||
oXml->WriteString(L"</w:p></w:tc>");
|
||||
j++;
|
||||
|
||||
@ -1076,10 +1076,7 @@ private:
|
||||
while(it1 != mTable.end() || it2 != mTable.end())
|
||||
{
|
||||
oXml->WriteString(L"<w:tc><w:tcPr><w:textDirection w:val=\"lrTb\"/><w:noWrap w:val=\"false\"/><w:tcBorders>");
|
||||
if(bNeedBorder)
|
||||
oXml->WriteString(L"<w:left w:val=\"single\" w:color=\"000000\" w:sz=\"4\" w:space=\"0\"/><w:top w:val=\"single\" w:color=\"000000\" w:sz=\"4\" w:space=\"0\"/><w:right w:val=\"single\" w:color=\"000000\" w:sz=\"4\" w:space=\"0\"/><w:bottom w:val=\"single\" w:color=\"000000\" w:sz=\"4\" w:space=\"0\"/>");
|
||||
else
|
||||
oXml->WriteString(L"<w:left w:val=\"none\" w:color=\"000000\"/><w:top w:val=\"none\" w:color=\"000000\"/><w:right w:val=\"none\" w:color=\"000000\"/><w:bottom w:val=\"none\" w:color=\"000000\"/>");
|
||||
oXml->WriteString(!sBorders.empty() ? sBorders : L"<w:left w:val=\"none\" w:color=\"000000\"/><w:top w:val=\"none\" w:color=\"000000\"/><w:right w:val=\"none\" w:color=\"000000\"/><w:bottom w:val=\"none\" w:color=\"000000\"/>");
|
||||
oXml->WriteString(L"</w:tcBorders><w:vMerge w:val=\"continue\"/><w:gridSpan w:val=\"");
|
||||
std::wstring sCol = (it1 != mTable.end() ? it1->sGridSpan : it2->sGridSpan);
|
||||
oXml->WriteString(sCol);
|
||||
@ -1099,12 +1096,10 @@ private:
|
||||
if(m_oLightReader.IsEmptyNode())
|
||||
return;
|
||||
|
||||
bool bNeedBorder = false;
|
||||
std::wstring sBorders;
|
||||
while (m_oLightReader.MoveToNextAttribute())
|
||||
{
|
||||
if (m_oLightReader.GetName() == L"border")
|
||||
bNeedBorder = true;
|
||||
}
|
||||
sBorders = L"<w:left w:val=\"single\" w:color=\"000000\" w:sz=\"4\" w:space=\"0\"/><w:top w:val=\"single\" w:color=\"000000\" w:sz=\"4\" w:space=\"0\"/><w:right w:val=\"single\" w:color=\"000000\" w:sz=\"4\" w:space=\"0\"/><w:bottom w:val=\"single\" w:color=\"000000\" w:sz=\"4\" w:space=\"0\"/>";
|
||||
m_oLightReader.MoveToElement();
|
||||
|
||||
NSStringUtils::CStringBuilder oHead;
|
||||
@ -1121,8 +1116,40 @@ private:
|
||||
oXml->WriteString(L"<w:jc w:val=\"" + sAlign + L"\"/>");
|
||||
oXml->WriteString(L"</w:tblPr>");
|
||||
sSelectors.push_back(oLast);
|
||||
if (!bNeedBorder && m_oStylesCalculator.GetCompiledStyle(sSelectors).m_pBorder.GetWidthBottomSideW() != L"0")
|
||||
bNeedBorder = true;
|
||||
|
||||
// borders
|
||||
oStyle = m_oStylesCalculator.GetCompiledStyle(sSelectors, true);
|
||||
std::wstring sColor = oStyle.m_pBorder.GetColorBottomSide();
|
||||
std::wstring sSz = oStyle.m_pBorder.GetWidthBottomSideW();
|
||||
if (sSz != L"0")
|
||||
sBorders = L"<w:left w:val=\"single\" w:color=\"" + sColor + L"\" w:sz=\"" + sSz + L"\" w:space=\"0\"/><w:top w:val=\"single\" w:color=\"" + sColor + L"\" w:sz=\"" + sSz + L"\" w:space=\"0\"/><w:right w:val=\"single\" w:color=\"" + sColor + L"\" w:sz=\"" + sSz + L"\" w:space=\"0\"/><w:bottom w:val=\"single\" w:color=\"" + sColor + L"\" w:sz=\"" + sSz + L"\" w:space=\"0\"/>";
|
||||
|
||||
/*
|
||||
NSCSS::CCompiledStyle oStyleSetting = m_oStylesCalculator.GetCompiledStyle(sSelectors, true);
|
||||
oStyle = m_oStylesCalculator.GetCompiledStyle(sSelectors);
|
||||
NSCSS::CCompiledStyle::StyleEquation(oStyle, oStyleSetting);
|
||||
m_oXmlStyle.WriteLitePStyle(oStyleSetting);
|
||||
std::wstring sPSettings = m_oXmlStyle.GetStyle();
|
||||
m_oXmlStyle.Clear();
|
||||
size_t nBdr = sPSettings.find(L"<w:pBdr>");
|
||||
if (nBdr != std::wstring::npos)
|
||||
{
|
||||
nBdr += 8;
|
||||
size_t nBdrEnd = sPSettings.find(L"</w:pBdr>", nBdr);
|
||||
if (nBdrEnd != std::wstring::npos)
|
||||
{
|
||||
sBorders = sPSettings.substr(nBdr, nBdrEnd - nBdr);
|
||||
size_t nSpace = sBorders.find(L"w:space=\"");
|
||||
while (nSpace != std::wstring::npos)
|
||||
{
|
||||
nSpace += 9;
|
||||
size_t nSpaceEnd = sBorders.find(L'\"', nSpace);
|
||||
sBorders.replace(nSpace, nSpaceEnd - nSpace, L"0");
|
||||
nSpace = sBorders.find(L"w:space=\"", nSpace);
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
int nDeath = m_oLightReader.GetDepth();
|
||||
while(m_oLightReader.ReadNextSiblingNode(nDeath))
|
||||
@ -1151,11 +1178,11 @@ private:
|
||||
bWasP = false;
|
||||
}
|
||||
if(sName == L"thead")
|
||||
readTr(&oHead, sSelectors, oTS, bWasP, bNeedBorder);
|
||||
readTr(&oHead, sSelectors, oTS, bWasP, sBorders);
|
||||
else if(sName == L"tbody")
|
||||
readTr(&oBody, sSelectors, oTS, bWasP, bNeedBorder);
|
||||
readTr(&oBody, sSelectors, oTS, bWasP, sBorders);
|
||||
else if(sName == L"tfoot")
|
||||
readTr(&oFoot, sSelectors, oTS, bWasP, bNeedBorder);
|
||||
readTr(&oFoot, sSelectors, oTS, bWasP, sBorders);
|
||||
sSelectors.pop_back();
|
||||
}
|
||||
|
||||
@ -1491,12 +1518,28 @@ private:
|
||||
std::wstring sPStyle = GetStyle(oStyle, true);
|
||||
|
||||
m_oXmlStyle.WriteLitePStyle(oStyleSetting);
|
||||
const std::wstring sPSettings = m_oXmlStyle.GetStyle();
|
||||
std::wstring sPSettings = m_oXmlStyle.GetStyle();
|
||||
m_oXmlStyle.Clear();
|
||||
|
||||
for(int i = temporary.size() - 1; i >= 0; i--)
|
||||
sSelectors.insert(sSelectors.begin() + temporary[i].first, temporary[i].second);
|
||||
|
||||
// Если в таблице
|
||||
bool bInTable = false;
|
||||
for (const NSCSS::CNode& item : sSelectors)
|
||||
if (item.m_sName == L"table")
|
||||
bInTable = true;
|
||||
if (bInTable)
|
||||
{
|
||||
size_t nBdr = sPSettings.find(L"<w:pBdr>");
|
||||
if (nBdr != std::wstring::npos)
|
||||
{
|
||||
size_t nBdrEnd = sPSettings.find(L"</w:pBdr>", nBdr);
|
||||
if (nBdrEnd != std::wstring::npos)
|
||||
sPSettings.erase(nBdr, nBdrEnd + 9 - nBdr);
|
||||
}
|
||||
}
|
||||
|
||||
oXml->WriteString(sPStyle);
|
||||
oXml->WriteString(L"\"/>");
|
||||
oXml->WriteString(oTS.sPStyle + L' ' + sPSettings);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -5,22 +5,154 @@ VisualStudioVersion = 14.0.25420.1
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PdfWriterLibTest", "PdfWriterLibTest.vcxproj", "{7DBC8195-1D94-4B34-863F-8F35CC59C231}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cryptlib", "..\..\Common\3dParty\cryptopp\cryptlib.vcxproj", "{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freetype", "..\..\DesktopEditor\freetype-2.10.4\builds\windows\vc2010\freetype.vcxproj", "{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug Multithreaded|x64 = Debug Multithreaded|x64
|
||||
Debug Multithreaded|x86 = Debug Multithreaded|x86
|
||||
Debug Singlethreaded|x64 = Debug Singlethreaded|x64
|
||||
Debug Singlethreaded|x86 = Debug Singlethreaded|x86
|
||||
Debug Static|x64 = Debug Static|x64
|
||||
Debug Static|x86 = Debug Static|x86
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
DLL-Import Debug|x64 = DLL-Import Debug|x64
|
||||
DLL-Import Debug|x86 = DLL-Import Debug|x86
|
||||
DLL-Import Release|x64 = DLL-Import Release|x64
|
||||
DLL-Import Release|x86 = DLL-Import Release|x86
|
||||
Release Multithreaded|x64 = Release Multithreaded|x64
|
||||
Release Multithreaded|x86 = Release Multithreaded|x86
|
||||
Release Singlethreaded|x64 = Release Singlethreaded|x64
|
||||
Release Singlethreaded|x86 = Release Singlethreaded|x86
|
||||
Release Static|x64 = Release Static|x64
|
||||
Release Static|x86 = Release Static|x86
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.Debug Multithreaded|x64.Build.0 = Debug|x64
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.Debug Multithreaded|x86.ActiveCfg = Debug|Win32
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.Debug Multithreaded|x86.Build.0 = Debug|Win32
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.Debug Singlethreaded|x64.Build.0 = Debug|x64
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.Debug Singlethreaded|x86.ActiveCfg = Debug|Win32
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.Debug Singlethreaded|x86.Build.0 = Debug|Win32
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.Debug Static|x64.ActiveCfg = Debug|x64
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.Debug Static|x64.Build.0 = Debug|x64
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.Debug Static|x86.ActiveCfg = Debug|Win32
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.Debug Static|x86.Build.0 = Debug|Win32
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.Debug|x64.Build.0 = Debug|x64
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.Debug|x86.Build.0 = Debug|Win32
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.DLL-Import Debug|x64.ActiveCfg = Debug|x64
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.DLL-Import Debug|x64.Build.0 = Debug|x64
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.DLL-Import Debug|x86.ActiveCfg = Debug|Win32
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.DLL-Import Debug|x86.Build.0 = Debug|Win32
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.DLL-Import Release|x64.ActiveCfg = Release|x64
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.DLL-Import Release|x64.Build.0 = Release|x64
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.DLL-Import Release|x86.ActiveCfg = Release|Win32
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.DLL-Import Release|x86.Build.0 = Release|Win32
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.Release Multithreaded|x64.ActiveCfg = Release|x64
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.Release Multithreaded|x64.Build.0 = Release|x64
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.Release Multithreaded|x86.ActiveCfg = Release|Win32
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.Release Multithreaded|x86.Build.0 = Release|Win32
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.Release Singlethreaded|x64.ActiveCfg = Release|x64
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.Release Singlethreaded|x64.Build.0 = Release|x64
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.Release Singlethreaded|x86.ActiveCfg = Release|Win32
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.Release Singlethreaded|x86.Build.0 = Release|Win32
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.Release Static|x64.ActiveCfg = Release|x64
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.Release Static|x64.Build.0 = Release|x64
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.Release Static|x86.ActiveCfg = Release|Win32
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.Release Static|x86.Build.0 = Release|Win32
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.Release|x64.ActiveCfg = Release|x64
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.Release|x64.Build.0 = Release|x64
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.Release|x86.ActiveCfg = Release|Win32
|
||||
{7DBC8195-1D94-4B34-863F-8F35CC59C231}.Release|x86.Build.0 = Release|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug Multithreaded|x64.ActiveCfg = Debug|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug Multithreaded|x64.Build.0 = Debug|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug Multithreaded|x86.ActiveCfg = Debug|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug Multithreaded|x86.Build.0 = Debug|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug Singlethreaded|x64.ActiveCfg = Debug|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug Singlethreaded|x64.Build.0 = Debug|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug Singlethreaded|x86.ActiveCfg = Debug|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug Singlethreaded|x86.Build.0 = Debug|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug Static|x64.ActiveCfg = Debug|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug Static|x64.Build.0 = Debug|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug Static|x86.ActiveCfg = Debug|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug Static|x86.Build.0 = Debug|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug|x64.Build.0 = Debug|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug|x86.Build.0 = Debug|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Debug|x64.ActiveCfg = DLL-Import Debug|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Debug|x64.Build.0 = DLL-Import Debug|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Debug|x86.ActiveCfg = DLL-Import Debug|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Debug|x86.Build.0 = DLL-Import Debug|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Release|x64.ActiveCfg = DLL-Import Release|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Release|x64.Build.0 = DLL-Import Release|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Release|x86.ActiveCfg = DLL-Import Release|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.DLL-Import Release|x86.Build.0 = DLL-Import Release|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release Multithreaded|x64.ActiveCfg = Release|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release Multithreaded|x64.Build.0 = Release|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release Multithreaded|x86.ActiveCfg = Release|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release Multithreaded|x86.Build.0 = Release|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release Singlethreaded|x64.ActiveCfg = Release|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release Singlethreaded|x64.Build.0 = Release|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release Singlethreaded|x86.ActiveCfg = Release|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release Singlethreaded|x86.Build.0 = Release|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release Static|x64.ActiveCfg = Release|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release Static|x64.Build.0 = Release|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release Static|x86.ActiveCfg = Release|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release Static|x86.Build.0 = Release|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release|x64.ActiveCfg = Release|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release|x64.Build.0 = Release|x64
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release|x86.ActiveCfg = Release|Win32
|
||||
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release|x86.Build.0 = Release|Win32
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Multithreaded|x64.ActiveCfg = Debug Static|x64
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Multithreaded|x64.Build.0 = Debug Static|x64
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Multithreaded|x86.ActiveCfg = Debug Static|Win32
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Multithreaded|x86.Build.0 = Debug Static|Win32
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Singlethreaded|x64.ActiveCfg = Debug Static|x64
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Singlethreaded|x64.Build.0 = Debug Static|x64
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Singlethreaded|x86.ActiveCfg = Debug Static|Win32
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Singlethreaded|x86.Build.0 = Debug Static|Win32
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Static|x64.ActiveCfg = Debug Static|x64
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Static|x64.Build.0 = Debug Static|x64
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Static|x86.ActiveCfg = Debug Static|Win32
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Static|x86.Build.0 = Debug Static|Win32
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug|x64.Build.0 = Debug|x64
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug|x86.Build.0 = Debug|Win32
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.DLL-Import Debug|x64.ActiveCfg = Debug|x64
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.DLL-Import Debug|x64.Build.0 = Debug|x64
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.DLL-Import Debug|x86.ActiveCfg = Debug|Win32
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.DLL-Import Debug|x86.Build.0 = Debug|Win32
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.DLL-Import Release|x64.ActiveCfg = Release|x64
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.DLL-Import Release|x64.Build.0 = Release|x64
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.DLL-Import Release|x86.ActiveCfg = Release|Win32
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.DLL-Import Release|x86.Build.0 = Release|Win32
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Multithreaded|x64.ActiveCfg = Release Static|x64
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Multithreaded|x64.Build.0 = Release Static|x64
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Multithreaded|x86.ActiveCfg = Release Static|Win32
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Multithreaded|x86.Build.0 = Release Static|Win32
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Singlethreaded|x64.ActiveCfg = Release Static|x64
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Singlethreaded|x64.Build.0 = Release Static|x64
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Singlethreaded|x86.ActiveCfg = Release Static|Win32
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Singlethreaded|x86.Build.0 = Release Static|Win32
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Static|x64.ActiveCfg = Release Static|x64
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Static|x64.Build.0 = Release Static|x64
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Static|x86.ActiveCfg = Release Static|Win32
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Static|x86.Build.0 = Release Static|Win32
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|x64.ActiveCfg = Release|x64
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|x64.Build.0 = Release|x64
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|x86.ActiveCfg = Release|Win32
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|x86.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
||||
@ -71,10 +71,12 @@
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<IncludePath>$(IncludePath);D:\_Work\core-release-next\DesktopEditor\freetype-2.10.4\include;D:\_Work\core-release-next\DesktopEditor\freetype-2.10.4\include\freetype</IncludePath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<LibraryPath>..\..\build\lib\win_64\DEBUG;$(LibraryPath)</LibraryPath>
|
||||
<IncludePath>D:\_Work\core-release-next\DesktopEditor\freetype-2.10.4\include\freetype;D:\_Work\core-release-next\DesktopEditor\freetype-2.10.4\include;$(IncludePath)</IncludePath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
@ -90,6 +92,7 @@
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
@ -104,7 +107,6 @@
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;NOMINMAX;FT2_BUILD_LIBRARY;CRYPTOPP_DISABLE_ASM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>..\..\DesktopEditor\freetype-2.5.2\include;..\..\DesktopEditor\agg-2.4\include;..\..\DesktopEditor\cximage\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<DisableSpecificWarnings>4018;4005;4267;4146;4703</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
@ -182,44 +184,6 @@
|
||||
<ClInclude Include="targetver.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftbbox.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftgxval.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftlcdfil.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftmm.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftotval.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftpatent.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftpfr.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftsynth.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\fttype1.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftwinfnt.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftxf86.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\pcf\pcf.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\pfr\pfr.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\psaux\psaux.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\pshinter\pshinter.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\psnames\psmodule.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\raster\raster.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\sfnt\sfnt.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\truetype\truetype.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\type1\type1.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\cid\type1cid.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\type42\type42.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\winfonts\winfnt.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\autofit\autofit.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\bdf\bdf.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\cff\cff.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftbase.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftbitmap.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\cache\ftcache.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftfstype.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftgasp.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftglyph.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\gzip\ftgzip.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftinit.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\lzw\ftlzw.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftstroke.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftsystem.c" />
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\smooth\smooth.c" />
|
||||
<ClCompile Include="..\OnlineOfficeBinToPdf.cpp" />
|
||||
<ClCompile Include="..\PdfRenderer.cpp" />
|
||||
<ClCompile Include="..\Src\Annotation.cpp" />
|
||||
@ -244,7 +208,14 @@
|
||||
<ClCompile Include="..\Src\Streams.cpp" />
|
||||
<ClCompile Include="..\Src\Utils.cpp" />
|
||||
<ClCompile Include="PdfWriterLibTest.cpp" />
|
||||
<ClCompile Include="stdafx.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Common\3dParty\cryptopp\cryptlib.vcxproj">
|
||||
<Project>{3423ec9a-52e4-4a4d-9753-edebc38785ef}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\DesktopEditor\freetype-2.10.4\builds\windows\vc2010\freetype.vcxproj">
|
||||
<Project>{78b079bd-9fc7-4b9e-b4a6-96da0f00248b}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
|
||||
@ -13,9 +13,6 @@
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="FreeType">
|
||||
<UniqueIdentifier>{21d59946-a4de-4629-bd36-fd186a3b2900}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="PdfWriterLib">
|
||||
<UniqueIdentifier>{850ba345-bd3e-4b71-ae5b-f14f4f265a1b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
@ -113,123 +110,6 @@
|
||||
<ClCompile Include="PdfWriterLibTest.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\autofit\autofit.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\bdf\bdf.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\cff\cff.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftbase.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftbbox.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftbitmap.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\cache\ftcache.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftfstype.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftgasp.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftglyph.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftgxval.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\gzip\ftgzip.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftinit.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftlcdfil.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\lzw\ftlzw.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftmm.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftotval.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftpatent.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftpfr.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftstroke.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftsynth.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftsystem.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\fttype1.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftwinfnt.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\base\ftxf86.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\pcf\pcf.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\pfr\pfr.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\psaux\psaux.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\pshinter\pshinter.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\psnames\psmodule.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\raster\raster.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\sfnt\sfnt.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\smooth\smooth.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="stdafx.cpp">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\truetype\truetype.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\type1\type1.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\cid\type1cid.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\type42\type42.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\DesktopEditor\freetype-2.5.2\src\winfonts\winfnt.c">
|
||||
<Filter>FreeType</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\Src\Annotation.cpp">
|
||||
<Filter>PdfWriterLib</Filter>
|
||||
</ClCompile>
|
||||
|
||||
@ -10,20 +10,29 @@
|
||||
#include <stdio.h>
|
||||
#include <tchar.h>
|
||||
|
||||
#pragma comment(lib, "../../build/bin/icu/win_64/icuuc.lib")
|
||||
|
||||
#ifdef _DEBUG
|
||||
#pragma comment(lib, "CryptoPPLib.lib")
|
||||
#pragma comment(lib, "UnicodeConverter.lib")
|
||||
#pragma comment(lib, "graphics.lib")
|
||||
#pragma comment(lib, "kernel.lib")
|
||||
#pragma comment(lib, "Ws2_32.lib")
|
||||
#if defined(_WIN64)
|
||||
#if defined(_DEBUG)
|
||||
#pragma comment(lib, "../../build/lib/win_64/DEBUG/graphics.lib")
|
||||
#pragma comment(lib, "../../build/lib/win_64/DEBUG/kernel.lib")
|
||||
#pragma comment(lib, "../../build/lib/win_64/DEBUG/UnicodeConverter.lib")
|
||||
#else
|
||||
#pragma comment(lib, "../../build/lib/win_64/CryptoPPLib.lib")
|
||||
#pragma comment(lib, "../../build/lib/win_64/UnicodeConverter.lib")
|
||||
#pragma comment(lib, "../../build/lib/win_64/graphics.lib")
|
||||
#pragma comment(lib, "../../build/lib/win_64/kernel.lib")
|
||||
#pragma comment(lib, "Ws2_32.lib")
|
||||
#pragma comment(lib, "../../build/lib/win_64/UnicodeConverter.lib")
|
||||
#endif
|
||||
#pragma comment(lib, "../../build/bin/icu/win_64/icuuc.lib")
|
||||
#elif defined (_WIN32)
|
||||
#if defined(_DEBUG)
|
||||
#pragma comment(lib, "../../build/lib/win_32/DEBUG/graphics.lib")
|
||||
#pragma comment(lib, "../../build/lib/win_32/DEBUG/kernel.lib")
|
||||
#pragma comment(lib, "../../build/lib/win_32/DEBUG/UnicodeConverter.lib")
|
||||
#else
|
||||
#pragma comment(lib, "../../build/lib/win_32/graphics.lib")
|
||||
#pragma comment(lib, "../../build/lib/win_32/kernel.lib")
|
||||
#pragma comment(lib, "../../build/lib/win_32/UnicodeConverter.lib")
|
||||
#endif
|
||||
#pragma comment(lib, "../../build/bin/icu/win_32/icuuc.lib")
|
||||
#endif
|
||||
#pragma comment(lib, "Ws2_32.lib")
|
||||
|
||||
// TODO: reference additional headers your program requires here
|
||||
|
||||
Reference in New Issue
Block a user