mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-07-11 22:03:01 -06:00
Bazaar/DXF : convert strings to WINDOWS-1252 charset before streaming to handle special chars correctly
git-svn-id: svn://ultimatepp.org/upp/trunk@5283 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
e8b04cb7e7
commit
b250e56f20
4 changed files with 10 additions and 10 deletions
|
|
@ -25,10 +25,10 @@ bool DXFBlock::Write(String const &name, Stream &s)
|
|||
s << "100\nAcDbEntity\n";
|
||||
s << "8\n0\n";
|
||||
s << "100\nAcDbBlockBegin\n";
|
||||
s << "2\n" << name << "\n";
|
||||
s << "2\n" << ToCharset(CHARSET_WIN1252, name) << "\n";
|
||||
s << "70\n0\n"; // attributes ???
|
||||
s << "10\n0.0\n20\n0.0\n30\n0.0\n"; // shall we handle insertion base point ?
|
||||
s << "3\n" << name << "\n";
|
||||
s << "3\n" << ToCharset(CHARSET_WIN1252, name) << "\n";
|
||||
s << "1\n\n";
|
||||
|
||||
// write out entities
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ bool DXFBlockRef::Write(Stream &s)
|
|||
|
||||
// output line points
|
||||
s << "100\nAcDbBlockReference\n";
|
||||
s << "2\n" << name << "\n";
|
||||
s << "2\n" << ToCharset(CHARSET_WIN1252, name) << "\n";
|
||||
s << "10\n" << insertPoint.x << "\n20\n" << insertPoint.y << "\n30\n" << 0.0 << "\n";
|
||||
s << "41\n" << scale << "\n42\n" << scale << "\n43\n" << scale << "\n";
|
||||
s << "50\n" << angle * 180.0 / M_PI << "\n";
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@ bool DXFHeader::Write(Stream &s)
|
|||
String hdr = (const char *)dxf_hdr;
|
||||
s << "0\nSECTION\n2\nHEADER\n";
|
||||
s << hdr;
|
||||
s << "9\n$CLAYER\n8\n" << dxf->layer << "\n";
|
||||
s << "9\n$CELTYPE\n6\n" << dxf->lineType << "\n";
|
||||
s << "9\n$CLAYER\n8\n" << ToCharset(CHARSET_WIN1252, dxf->layer) << "\n";
|
||||
s << "9\n$CELTYPE\n6\n" << ToCharset(CHARSET_WIN1252, dxf->lineType) << "\n";
|
||||
s << "9\n$CECOLOR\n62\n" << dxf->color << "\n";
|
||||
s << "9\n$CELTSCALE\n40\n1.0\n";
|
||||
s << "0\nENDSEC\n";
|
||||
|
|
|
|||
|
|
@ -14,10 +14,10 @@ bool DXFLayer::Write(Stream &s)
|
|||
s << "0\nLAYER\n";
|
||||
s << "5\n" << Format64Hex(handle) << "\n";
|
||||
s << "100\nAcDbSymbolTableRecord\n100\nAcDbLayerTableRecord\n";
|
||||
s << "2\n" << name << "\n";
|
||||
s << "2\n" << ToCharset(CHARSET_WIN1252, name) << "\n";
|
||||
s << "70\n64\n";
|
||||
s << "62\n" << color << "\n";
|
||||
s << "6\n" << lineType << "\n";
|
||||
s << "6\n" << ToCharset(CHARSET_WIN1252, lineType) << "\n";
|
||||
s << "390\n" << tables->plotStyleHandle << "\n";
|
||||
|
||||
return true;
|
||||
|
|
@ -66,9 +66,9 @@ bool DXFLineType::Write(Stream &s)
|
|||
s << "0\nLTYPE\n";
|
||||
s << "5\n" << Format64Hex(handle) << "\n";
|
||||
s << "100\nAcDbSymbolTableRecord\n100\nAcDbLinetypeTableRecord\n";
|
||||
s << "2\n" << name << "\n";
|
||||
s << "2\n" << ToCharset(CHARSET_WIN1252, name) << "\n";
|
||||
s << "70\n64\n";
|
||||
s << "3\n" << desc << "\n";
|
||||
s << "3\n" << ToCharset(CHARSET_WIN1252, desc) << "\n";
|
||||
s << "72\n65\n";
|
||||
s << "73\n" << elements.GetCount() << "\n";
|
||||
double patLen = 0;
|
||||
|
|
@ -183,7 +183,7 @@ bool DXFTables::Write(Stream &s)
|
|||
s << "5\n" << Format64Hex(dxf->GetNextHandle()) << "\n";
|
||||
s << "100\nAcDbSymbolTableRecord\n";
|
||||
s << "100\nAcDbBlockTableRecord\n";
|
||||
s << "2\n" << blocks.GetKey(iBlock) << "\n";
|
||||
s << "2\n" << ToCharset(CHARSET_WIN1252, blocks.GetKey(iBlock)) << "\n";
|
||||
}
|
||||
s << "0\nENDTAB\n";
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue