Compare commits

..

27 Commits

Author SHA1 Message Date
b20ce89c09 Merge pull request #583 from ONLYOFFICE/fix/buildMacOS
Fix build for macOS
2021-04-23 16:48:42 +03:00
95166978ce Fix build for macOS 2021-04-23 16:50:48 +03:00
25bab94a86 [x2t] For bug 49842 2021-04-23 16:22:46 +03:00
25523589e7 Merge pull request #582 from ONLYOFFICE/fix/v6.3.0-ppt
Fix/v6.3.0 ppt
2021-04-23 12:55:49 +03:00
db45280e10 Merge pull request #581 from ONLYOFFICE/fix/bug49802
Fix bug 49802
2021-04-23 12:18:24 +03:00
eda60dc030 Fix bug 49802 2021-04-23 12:17:02 +03:00
ab2eae32df Merge pull request #580 from ONLYOFFICE/fix/bug49710
Fix bug 49710
2021-04-23 11:49:19 +03:00
364712c50f faster 2021-04-23 11:43:32 +03:00
47058a4006 Fix bug 49710 2021-04-23 11:36:02 +03:00
c7fbfb9d1b I merged home and work made version 2021-04-23 10:17:41 +03:00
feced4ff7b trying to fix #49035 2021-04-22 23:45:35 +03:00
a6ef44e3fe Fix crash. But needs to correct connect audio 2021-04-22 18:53:10 +03:00
c7c9199fd4 Merge pull request #579 from ONLYOFFICE/fix/v6.3.0-fix-bugs
Fix/v6.3.0 fix bugs
2021-04-22 17:18:47 +03:00
18db1b9966 fix bug #49738 2021-04-22 17:13:49 +03:00
b1686a04ba . 2021-04-22 16:17:16 +03:00
bdf2c213c0 fix bug #49730 2021-04-22 16:16:03 +03:00
1ab560a957 fix different styles 2021-04-21 18:45:24 +03:00
dcfe6a2362 Merge pull request #578 from ONLYOFFICE/fix/bug49713
Fix bug 49713
2021-04-20 13:16:43 +03:00
baebe1da12 fix m_pKeywords 2021-04-20 13:15:49 +03:00
c8733a6d6f Fix bug 49713
also added support for keywords
2021-04-20 13:02:38 +03:00
ad5ed9f2e3 for bug #48778 2021-04-19 15:22:55 +03:00
bdda7e24dd fix bug #47996 2021-04-14 12:14:05 +03:00
e440f92c7e fix audio crashes 2021-04-13 09:54:32 +00:00
f6e9517474 fix some asian prisentation problems. 2021-04-13 09:37:00 +00:00
560d76feee Merge pull request #576 from ONLYOFFICE/fix/v6.3.0-fix-bugs
fix bug #48778
2021-04-13 09:27:37 +03:00
e9911e72f9 fix bug #48778 2021-04-13 09:20:36 +03:00
308adb9fbe fix crashes. But it breaks some slides! I neet to finish it later at home 2021-04-12 18:42:54 +03:00
30 changed files with 1000 additions and 935 deletions

View File

@ -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);

View File

@ -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)

View File

@ -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;

View File

@ -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;

View File

@ -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
{

View File

@ -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)

View File

@ -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)
{

View File

@ -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;
}
}

View File

@ -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)
{

View File

@ -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

View File

@ -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);
}

View File

@ -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;
}
}

View File

@ -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;
};
}

View File

@ -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>"));

View File

@ -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\"?>\

View File

@ -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);
}

View File

@ -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 );

View File

@ -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 )
{

View File

@ -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)

View File

@ -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 );

View File

@ -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)

View File

@ -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;

View File

@ -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)

View File

@ -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);

View File

@ -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

View File

@ -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

View File

@ -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">

View File

@ -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>

View File

@ -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