bool Cocos2dExporter::Export(QByteArray& out) { QString res = "info "; res += QString("face=\"") + fontConfig()->family() + QString("\" "); res += QString("size=") + QString().number(fontConfig()->size()) + QString(" bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=2,2\n"); res += QString("common lineHeight=") + QString().number(metrics().height) + QString(" base=29 scaleW=") + QString().number(texWidth()) + QString(" scaleH=") + QString().number(texWidth()) + QString(" pages=1 packed=0\n"); res += QString("page id=0 file=\"") + texFilename() + QString("\"\n"); res += QString("chars count=") + QString().number(symbols().size()) + QString("\n"); foreach(const Symbol& c , symbols()) { res += QString("char id=") + QString().number(c.id) + QString(" x=") + QString().number(c.placeX) + QString(" y=") + QString().number(c.placeY); res += QString(" width=") + QString().number(c.placeW) + QString(" height=") + QString().number(c.placeH); res += QString(" xoffset=") + QString().number(c.offsetX) + QString(" yoffset=") + QString().number(fontConfig()->size() - c.offsetY); res += QString(" xadvance=") + QString().number(c.advance) + QString(" page=0 chnl=0 "); if(c.id==32) { res += QString("letter=\"space\""); } else { res += QString("letter=\"" + QString().append(c.id) + "\""); } res += QString("\n"); }
bool SparrowExporter::Export(QByteArray& out) { QDomDocument doc; QDomElement root = doc.createElement("font"); doc.appendChild(root); QDomElement info = doc.createElement("info"); root.appendChild(info); info.setAttribute("face", fontConfig()->family()); info.setAttribute("size", fontConfig()->size()); QDomElement common = doc.createElement("common"); root.appendChild(common); int height = metrics().height; common.setAttribute("lineHeight", height); QDomElement pages = doc.createElement("pages"); root.appendChild(pages); QDomElement page = doc.createElement("page"); pages.appendChild(page); page.setAttribute("id", "0"); page.setAttribute("file", texFilename()); QDomElement chars = doc.createElement("chars"); root.appendChild(chars); chars.setAttribute("count", symbols().size()); QDomElement kernings = doc.createElement("kernings"); int kernNumber = 0; foreach(const Symbol& c , symbols()) { QDomElement ch = doc.createElement("char"); ch.setAttribute("id", QString::number(c.id)); ch.setAttribute("x", QString::number(c.placeX)); ch.setAttribute("y", QString::number(c.placeY)); ch.setAttribute("width", QString::number(c.placeW)); ch.setAttribute("height", QString::number(c.placeH)); ch.setAttribute("xoffset", QString::number(c.offsetX)); ch.setAttribute("yoffset", QString::number(height - c.offsetY)); ch.setAttribute("xadvance", QString::number(c.advance)); ch.setAttribute("page", "0"); ch.setAttribute("chnl", "0"); ch.setAttribute("letter", c.id==32 ? "space" : QString().append(c.id)); chars.appendChild(ch); typedef QMap<uint,int>::ConstIterator Kerning; for ( Kerning k = c.kerning.begin();k!=c.kerning.end();k++) { QDomElement ker = doc.createElement("kerning"); ker.setAttribute("first", QString::number(c.id)); ker.setAttribute("second", QString::number(k.key())); ker.setAttribute("amount", k.value()); kernings.appendChild(ker); kernNumber ++; } }
bool LuaExporter::Export(QByteArray& out) { QString res; if (m_write_function) res+="return {\n"; const QString p(m_write_function ? "\t":""); res+=p+QString("file=\"")+texFilename()+QString(m_write_function ? "\",\n" : "\"\n"); res+=p+QString("height=")+QString().number(metrics().height)+QString(m_write_function?",\n":"\n"); res+=p+QString("description={\n"); res+=p+QString("\tfamily=\"")+fontConfig()->family()+QString("\",\n"); res+=p+QString("\tstyle=\"")+fontConfig()->style()+QString("\",\n"); res+=p+QString("\tsize=")+QString().number(fontConfig()->size())+QString("\n"); res+=p+QString(m_write_function?"},\n":"}\n"); res+=p+QString("metrics={\n"); res+=p+QString("\tascender=")+QString().number(metrics().ascender)+QString(",\n"); res+=p+QString("\tdescender=")+QString().number(metrics().descender)+QString(",\n"); res+=p+QString("\theight=")+QString().number(metrics().height)+QString("\n"); res+=p+QString(m_write_function?"},\n":"}\n"); res+=p+QString("texture={\n"); res+=p+QString("\tfile=\"")+texFilename()+QString("\",\n"); res+=p+QString("\twidth=")+QString().number(texWidth())+QString(",\n"); res+=p+QString("\theight=")+QString().number(texHeight())+QString("\n"); res+=p+QString(m_write_function?"},\n":"}\n"); res+=p+QString("chars={\n"); foreach (const Symbol& c , symbols()) { QString charDef="{char="; charDef+=charCode(c.id); charDef+=QString(","); charDef+=QString("width=")+QString().number(c.advance)+QString(","); charDef+=QString("x=")+QString().number(c.placeX)+QString(","); charDef+=QString("y=")+QString().number(c.placeY)+QString(","); charDef+=QString("w=")+QString().number(c.placeW)+QString(","); charDef+=QString("h=")+QString().number(c.placeH)+QString(","); charDef+=QString("ox=")+QString().number(c.offsetX)+QString(","); charDef+=QString("oy=")+QString().number(c.offsetY)+QString("}"); res+=p+QString("\t")+charDef+QString(",\n"); }
bool JsExporter::Export(QByteArray& out) { QString res = "var font = {\n"; res+=QString("\t\"file\":\"")+texFilename()+QString("\",\n"); res+=QString("\t\"height\":")+QString().number(metrics().height)+QString(",\n"); res+=QString("\t\"description\":{\n"); res+=QString("\t\t\"family\":\"")+fontConfig()->family()+QString("\",\n"); res+=QString("\t\t\"style\":\"")+fontConfig()->style()+QString("\",\n"); res+=QString("\t\t\"size\":")+QString().number(fontConfig()->size())+QString("\n"); res+=QString("\t},\n"); res+=QString("\t\"metrics\":{\n"); res+=QString("\t\t\"ascender\":")+QString().number(metrics().ascender)+QString(",\n"); res+=QString("\t\t\"descender\":")+QString().number(metrics().descender)+QString(",\n"); res+=QString("\t\t\"height\":")+QString().number(metrics().height)+QString("\n"); res+=QString("\t},\n"); res+=QString("\t\"texture\":{\n"); res+=QString("\t\t\"file\":\"")+texFilename()+QString("\",\n"); res+=QString("\t\t\"width\":")+QString().number(texWidth())+QString(",\n"); res+=QString("\t\t\"height\":")+QString().number(texHeight())+QString("\n"); res+=QString("\t},\n"); res+=QString("\t\"chars\":{\n"); foreach (const Symbol& c , symbols()) { QString charDef=charCode(c.id); charDef+=QString(":{"); charDef+=QString("\"width\":")+QString().number(c.advance)+QString(","); charDef+=QString("\"x\":")+QString().number(c.placeX)+QString(","); charDef+=QString("\"y\":")+QString().number(c.placeY)+QString(","); charDef+=QString("\"w\":")+QString().number(c.placeW)+QString(","); charDef+=QString("\"h\":")+QString().number(c.placeH)+QString(","); charDef+=QString("\"ox\":")+QString().number(c.offsetX)+QString(","); charDef+=QString("\"oy\":")+QString().number(c.offsetY)+QString("}"); res+=QString("\t\t")+charDef+QString(",\n"); }
bool SimpleXMLExporter::Export(QByteArray& out) { QDomDocument doc; doc.appendChild(doc.createProcessingInstruction("xml","version=\"1.0\" encoding=\"utf-8\"" )); QDomElement root = doc.createElement("Font"); doc.appendChild(root); root.appendChild(text(doc, "size", QString::number(fontConfig()->size()))); root.appendChild(text(doc, "height", QString::number(metrics().height))); int offset = metrics().ascender; foreach (const Symbol& c , symbols()) { QDomElement ce = doc.createElement("Char"); ce.appendChild(text(doc, "code", QString::number(c.id))); { QDomElement place = doc.createElement("place"); place.appendChild(text(doc, "x", QString::number(c.placeX))); place.appendChild(text(doc, "y", QString::number(c.placeY))); ce.appendChild(place); } { QDomElement dim = doc.createElement("dimensions"); dim.appendChild(text(doc, "x", QString::number(c.placeW))); dim.appendChild(text(doc, "y", QString::number(c.placeH))); ce.appendChild(dim); } { QDomElement rect = doc.createElement("rect"); rect.appendChild(text(doc, "x", QString::number(c.offsetX))); rect.appendChild(text(doc, "y", QString::number(offset - c.offsetY))); ce.appendChild(rect); } ce.appendChild(text(doc, "width", QString::number(c.advance))); assert(c.kerning.begin() == c.kerning.end()); root.appendChild(ce); }