Spaces:
Running
Running
int main(int argc, char **argv) | |
{ | |
QCoreApplication a(argc, argv); // QApplication required! | |
if (!(argc == 2)) { | |
qWarning() << "usage: poppler-fonts filename"; | |
exit(1); | |
} | |
std::unique_ptr<Poppler::Document> doc = Poppler::Document::load(argv[1]); | |
if (!doc) { | |
qWarning() << "doc not loaded"; | |
exit(1); | |
} | |
std::cout << "name type emb sub font file"; | |
std::cout << std::endl; | |
std::cout << "------------------------------------ ------------ --- --- ---------"; | |
std::cout << std::endl; | |
foreach (const Poppler::FontInfo &font, doc->fonts()) { | |
if (font.name().isNull()) { | |
std::cout << qPrintable(QStringLiteral("%1").arg(QStringLiteral("[none]"), -37)); | |
} else { | |
std::cout << qPrintable(QStringLiteral("%1").arg(font.name(), -37)); | |
} | |
switch (font.type()) { | |
case Poppler::FontInfo::unknown: | |
std::cout << "unknown "; | |
break; | |
case Poppler::FontInfo::Type1: | |
std::cout << "Type 1 "; | |
break; | |
case Poppler::FontInfo::Type1C: | |
std::cout << "Type 1C "; | |
break; | |
case Poppler::FontInfo::Type3: | |
std::cout << "Type 3 "; | |
break; | |
case Poppler::FontInfo::TrueType: | |
std::cout << "TrueType "; | |
break; | |
case Poppler::FontInfo::CIDType0: | |
std::cout << "CID Type 0 "; | |
break; | |
case Poppler::FontInfo::CIDType0C: | |
std::cout << "CID Type 0C "; | |
break; | |
case Poppler::FontInfo::CIDTrueType: | |
std::cout << "CID TrueType "; | |
break; | |
case Poppler::FontInfo::Type1COT: | |
std::cout << "Type 1C (OT) "; | |
break; | |
case Poppler::FontInfo::TrueTypeOT: | |
std::cout << "TrueType (OT) "; | |
break; | |
case Poppler::FontInfo::CIDType0COT: | |
std::cout << "CID Type 0C (OT) "; | |
break; | |
case Poppler::FontInfo::CIDTrueTypeOT: | |
std::cout << "CID TrueType (OT) "; | |
break; | |
} | |
if (font.isEmbedded()) { | |
std::cout << "yes "; | |
} else { | |
std::cout << "no "; | |
} | |
if (font.isSubset()) { | |
std::cout << "yes "; | |
} else { | |
std::cout << "no "; | |
} | |
std::cout << qPrintable(font.file()); | |
std::cout << std::endl; | |
} | |
} | |