⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 globalparams.cc

📁 这是一个做pdf阅读器的源代码文件,是大家学习阅读器资料的很好参考
💻 CC
📖 第 1 页 / 共 5 页
字号:
      parseToUnicodeDir(tokens, fileName, line);    } else if (!cmd->cmp("displayFontT1")) {      parseDisplayFont(tokens, displayFonts, displayFontT1, fileName, line);    } else if (!cmd->cmp("displayFontTT")) {      parseDisplayFont(tokens, displayFonts, displayFontTT, fileName, line);    } else if (!cmd->cmp("displayNamedCIDFontT1")) {      parseDisplayFont(tokens, displayNamedCIDFonts,		       displayFontT1, fileName, line);    } else if (!cmd->cmp("displayCIDFontT1")) {      parseDisplayFont(tokens, displayCIDFonts,		       displayFontT1, fileName, line);    } else if (!cmd->cmp("displayNamedCIDFontTT")) {      parseDisplayFont(tokens, displayNamedCIDFonts,		       displayFontTT, fileName, line);    } else if (!cmd->cmp("displayCIDFontTT")) {      parseDisplayFont(tokens, displayCIDFonts,		       displayFontTT, fileName, line);    } else if (!cmd->cmp("psFile")) {      parsePSFile(tokens, fileName, line);    } else if (!cmd->cmp("psFont")) {      parsePSFont(tokens, fileName, line);    } else if (!cmd->cmp("psNamedFont16")) {      parsePSFont16("psNamedFont16", psNamedFonts16,		    tokens, fileName, line);    } else if (!cmd->cmp("psFont16")) {      parsePSFont16("psFont16", psFonts16, tokens, fileName, line);    } else if (!cmd->cmp("psPaperSize")) {      parsePSPaperSize(tokens, fileName, line);    } else if (!cmd->cmp("psImageableArea")) {      parsePSImageableArea(tokens, fileName, line);    } else if (!cmd->cmp("psCrop")) {      parseYesNo("psCrop", &psCrop, tokens, fileName, line);    } else if (!cmd->cmp("psExpandSmaller")) {      parseYesNo("psExpandSmaller", &psExpandSmaller,		 tokens, fileName, line);    } else if (!cmd->cmp("psShrinkLarger")) {      parseYesNo("psShrinkLarger", &psShrinkLarger, tokens, fileName, line);    } else if (!cmd->cmp("psCenter")) {      parseYesNo("psCenter", &psCenter, tokens, fileName, line);    } else if (!cmd->cmp("psDuplex")) {      parseYesNo("psDuplex", &psDuplex, tokens, fileName, line);    } else if (!cmd->cmp("psLevel")) {      parsePSLevel(tokens, fileName, line);    } else if (!cmd->cmp("psEmbedType1Fonts")) {      parseYesNo("psEmbedType1", &psEmbedType1, tokens, fileName, line);    } else if (!cmd->cmp("psEmbedTrueTypeFonts")) {      parseYesNo("psEmbedTrueType", &psEmbedTrueType,		 tokens, fileName, line);    } else if (!cmd->cmp("psEmbedCIDPostScriptFonts")) {      parseYesNo("psEmbedCIDPostScript", &psEmbedCIDPostScript,		 tokens, fileName, line);    } else if (!cmd->cmp("psEmbedCIDTrueTypeFonts")) {      parseYesNo("psEmbedCIDTrueType", &psEmbedCIDTrueType,		 tokens, fileName, line);    } else if (!cmd->cmp("psPreload")) {      parseYesNo("psPreload", &psPreload, tokens, fileName, line);    } else if (!cmd->cmp("psOPI")) {      parseYesNo("psOPI", &psOPI, tokens, fileName, line);    } else if (!cmd->cmp("psASCIIHex")) {      parseYesNo("psASCIIHex", &psASCIIHex, tokens, fileName, line);    } else if (!cmd->cmp("textEncoding")) {      parseTextEncoding(tokens, fileName, line);    } else if (!cmd->cmp("textEOL")) {      parseTextEOL(tokens, fileName, line);    } else if (!cmd->cmp("textPageBreaks")) {      parseYesNo("textPageBreaks", &textPageBreaks,		 tokens, fileName, line);    } else if (!cmd->cmp("textKeepTinyChars")) {      parseYesNo("textKeepTinyChars", &textKeepTinyChars,		 tokens, fileName, line);    } else if (!cmd->cmp("fontDir")) {      parseFontDir(tokens, fileName, line);    } else if (!cmd->cmp("initialZoom")) {      parseInitialZoom(tokens, fileName, line);    } else if (!cmd->cmp("continuousView")) {      parseYesNo("continuousView", &continuousView, tokens, fileName, line);    } else if (!cmd->cmp("enableT1lib")) {      parseYesNo("enableT1lib", &enableT1lib, tokens, fileName, line);    } else if (!cmd->cmp("enableFreeType")) {      parseYesNo("enableFreeType", &enableFreeType, tokens, fileName, line);    } else if (!cmd->cmp("antialias")) {      parseYesNo("antialias", &antialias, tokens, fileName, line);    } else if (!cmd->cmp("vectorAntialias")) {      parseYesNo("vectorAntialias", &vectorAntialias,		 tokens, fileName, line);    } else if (!cmd->cmp("strokeAdjust")) {      parseYesNo("strokeAdjust", &strokeAdjust, tokens, fileName, line);    } else if (!cmd->cmp("screenType")) {      parseScreenType(tokens, fileName, line);    } else if (!cmd->cmp("screenSize")) {      parseInteger("screenSize", &screenSize, tokens, fileName, line);    } else if (!cmd->cmp("screenDotRadius")) {      parseInteger("screenDotRadius", &screenDotRadius,		   tokens, fileName, line);    } else if (!cmd->cmp("screenGamma")) {      parseFloat("screenGamma", &screenGamma,		 tokens, fileName, line);    } else if (!cmd->cmp("screenBlackThreshold")) {      parseFloat("screenBlackThreshold", &screenBlackThreshold,		 tokens, fileName, line);    } else if (!cmd->cmp("screenWhiteThreshold")) {      parseFloat("screenWhiteThreshold", &screenWhiteThreshold,		 tokens, fileName, line);    } else if (!cmd->cmp("urlCommand")) {      parseCommand("urlCommand", &urlCommand, tokens, fileName, line);    } else if (!cmd->cmp("movieCommand")) {      parseCommand("movieCommand", &movieCommand, tokens, fileName, line);    } else if (!cmd->cmp("mapNumericCharNames")) {      parseYesNo("mapNumericCharNames", &mapNumericCharNames,		 tokens, fileName, line);    } else if (!cmd->cmp("mapUnknownCharNames")) {      parseYesNo("mapUnknownCharNames", &mapUnknownCharNames,		 tokens, fileName, line);    } else if (!cmd->cmp("bind")) {      parseBind(tokens, fileName, line);    } else if (!cmd->cmp("unbind")) {      parseUnbind(tokens, fileName, line);    } else if (!cmd->cmp("printCommands")) {      parseYesNo("printCommands", &printCommands, tokens, fileName, line);    } else if (!cmd->cmp("errQuiet")) {      parseYesNo("errQuiet", &errQuiet, tokens, fileName, line);    } else {      error(-1, "Unknown config file command '%s' (%s:%d)",	    cmd->getCString(), fileName->getCString(), line);      if (!cmd->cmp("displayFontX") ||	  !cmd->cmp("displayNamedCIDFontX") ||	  !cmd->cmp("displayCIDFontX")) {	error(-1, "-- Xpdf no longer supports X fonts");      } else if (!cmd->cmp("t1libControl") || !cmd->cmp("freetypeControl")) {	error(-1, "-- The t1libControl and freetypeControl options have been replaced");	error(-1, "   by the enableT1lib, enableFreeType, and antialias options");      } else if (!cmd->cmp("fontpath") || !cmd->cmp("fontmap")) {	error(-1, "-- the config file format has changed since Xpdf 0.9x");      }    }  }  deleteGList(tokens, GString);}void GlobalParams::parseNameToUnicode(GList *tokens, GString *fileName,					 int line) {  GString *name;  char *tok1, *tok2;  FILE *f;  char buf[256];  int line2;  Unicode u;  if (tokens->getLength() != 2) {    error(-1, "Bad 'nameToUnicode' config file command (%s:%d)",	  fileName->getCString(), line);    return;  }  name = (GString *)tokens->get(1);  if (!(f = fopen(name->getCString(), "r"))) {    error(-1, "Couldn't open 'nameToUnicode' file '%s'",	  name->getCString());    return;  }  line2 = 1;  while (getLine(buf, sizeof(buf), f)) {    tok1 = strtok(buf, " \t\r\n");    tok2 = strtok(NULL, " \t\r\n");    if (tok1 && tok2) {      sscanf(tok1, "%x", &u);      nameToUnicode->add(tok2, u);    } else {      error(-1, "Bad line in 'nameToUnicode' file (%s:%d)", name, line2);    }    ++line2;  }  fclose(f);}void GlobalParams::parseCIDToUnicode(GList *tokens, GString *fileName,				     int line) {  GString *collection, *name, *old;  if (tokens->getLength() != 3) {    error(-1, "Bad 'cidToUnicode' config file command (%s:%d)",	  fileName->getCString(), line);    return;  }  collection = (GString *)tokens->get(1);  name = (GString *)tokens->get(2);  if ((old = (GString *)cidToUnicodes->remove(collection))) {    delete old;  }  cidToUnicodes->add(collection->copy(), name->copy());}void GlobalParams::parseUnicodeToUnicode(GList *tokens, GString *fileName,					 int line) {  GString *font, *file, *old;  if (tokens->getLength() != 3) {    error(-1, "Bad 'unicodeToUnicode' config file command (%s:%d)",	  fileName->getCString(), line);    return;  }  font = (GString *)tokens->get(1);  file = (GString *)tokens->get(2);  if ((old = (GString *)unicodeToUnicodes->remove(font))) {    delete old;  }  unicodeToUnicodes->add(font->copy(), file->copy());}void GlobalParams::parseUnicodeMap(GList *tokens, GString *fileName,				   int line) {  GString *encodingName, *name, *old;  if (tokens->getLength() != 3) {    error(-1, "Bad 'unicodeMap' config file command (%s:%d)",	  fileName->getCString(), line);    return;  }  encodingName = (GString *)tokens->get(1);  name = (GString *)tokens->get(2);  if ((old = (GString *)unicodeMaps->remove(encodingName))) {    delete old;  }  unicodeMaps->add(encodingName->copy(), name->copy());}void GlobalParams::parseCMapDir(GList *tokens, GString *fileName, int line) {  GString *collection, *dir;  GList *list;  if (tokens->getLength() != 3) {    error(-1, "Bad 'cMapDir' config file command (%s:%d)",	  fileName->getCString(), line);    return;  }  collection = (GString *)tokens->get(1);  dir = (GString *)tokens->get(2);  if (!(list = (GList *)cMapDirs->lookup(collection))) {    list = new GList();    cMapDirs->add(collection->copy(), list);  }  list->append(dir->copy());}void GlobalParams::parseToUnicodeDir(GList *tokens, GString *fileName,				     int line) {  if (tokens->getLength() != 2) {    error(-1, "Bad 'toUnicodeDir' config file command (%s:%d)",	  fileName->getCString(), line);    return;  }  toUnicodeDirs->append(((GString *)tokens->get(1))->copy());}void GlobalParams::parseDisplayFont(GList *tokens, GHash *fontHash,				    DisplayFontParamKind kind,				    GString *fileName, int line) {  DisplayFontParam *param, *old;  if (tokens->getLength() < 2) {    goto err1;  }  param = new DisplayFontParam(((GString *)tokens->get(1))->copy(), kind);    switch (kind) {  case displayFontT1:    if (tokens->getLength() != 3) {      goto err2;    }    param->t1.fileName = ((GString *)tokens->get(2))->copy();    break;  case displayFontTT:    if (tokens->getLength() != 3) {      goto err2;    }    param->tt.fileName = ((GString *)tokens->get(2))->copy();    break;  }  if ((old = (DisplayFontParam *)fontHash->remove(param->name))) {    delete old;  }  fontHash->add(param->name, param);  return; err2:  delete param; err1:  error(-1, "Bad 'display*Font*' config file command (%s:%d)",	fileName->getCString(), line);}void GlobalParams::parsePSPaperSize(GList *tokens, GString *fileName,				    int line) {  GString *tok;  if (tokens->getLength() == 2) {    tok = (GString *)tokens->get(1);    if (!setPSPaperSize(tok->getCString())) {      error(-1, "Bad 'psPaperSize' config file command (%s:%d)",	    fileName->getCString(), line);    }  } else if (tokens->getLength() == 3) {    tok = (GString *)tokens->get(1);    psPaperWidth = atoi(tok->getCString());    tok = (GString *)tokens->get(2);    psPaperHeight = atoi(tok->getCString());    psImageableLLX = psImageableLLY = 0;    psImageableURX = psPaperWidth;    psImageableURY = psPaperHeight;  } else {    error(-1, "Bad 'psPaperSize' config file command (%s:%d)",	  fileName->getCString(), line);  }}void GlobalParams::parsePSImageableArea(GList *tokens, GString *fileName,					int line) {  if (tokens->getLength() != 5) {    error(-1, "Bad 'psImageableArea' config file command (%s:%d)",	  fileName->getCString(), line);    return;  }  psImageableLLX = atoi(((GString *)tokens->get(1))->getCString());  psImageableLLY = atoi(((GString *)tokens->get(2))->getCString());  psImageableURX = atoi(((GString *)tokens->get(3))->getCString());  psImageableURY = atoi(((GString *)tokens->get(4))->getCString());}void GlobalParams::parsePSLevel(GList *tokens, GString *fileName, int line) {  GString *tok;  if (tokens->getLength() != 2) {    error(-1, "Bad 'psLevel' config file command (%s:%d)",	  fileName->getCString(), line);    return;  }  tok = (GString *)tokens->get(1);  if (!tok->cmp("level1")) {    psLevel = psLevel1;  } else if (!tok->cmp("level1sep")) {    psLevel = psLevel1Sep;  } else if (!tok->cmp("level2")) {    psLevel = psLevel2;  } else if (!tok->cmp("level2sep")) {    psLevel = psLevel2Sep;  } else if (!tok->cmp("level3")) {    psLevel = psLevel3;  } else if (!tok->cmp("level3Sep")) {    psLevel = psLevel3Sep;  } else {    error(-1, "Bad 'psLevel' config file command (%s:%d)",	  fileName->getCString(), line);  }}void GlobalParams::parsePSFile(GList *tokens, GString *fileName, int line) {  if (tokens->getLength() != 2) {    error(-1, "Bad 'psFile' config file command (%s:%d)",	  fileName->getCString(), line);    return;  }  if (psFile) {    delete psFile;  }  psFile = ((GString *)tokens->get(1))->copy();}void GlobalParams::parsePSFont(GList *tokens, GString *fileName, int line) {  PSFontParam *param;  if (tokens->getLength() != 3) {    error(-1, "Bad 'psFont' config file command (%s:%d)",	  fileName->getCString(), line);    return;  }  param = new PSFontParam(((GString *)tokens->get(1))->copy(), 0,			  ((GString *)tokens->get(2))->copy(), NULL);  psFonts->add(param->pdfFontName, param);}void GlobalParams::parsePSFont16(char *cmdName, GList *fontList,				 GList *tokens, GString *fileName, int line) {  PSFontParam *param;  int wMode;  GString *tok;  if (tokens->getLength() != 5) {    error(-1, "Bad '%s' config file command (%s:%d)",	  cmdName, fileName->getCString(), line);    return;  }  tok = (GString *)tokens->get(2);  if (!tok->cmp("H")) {    wMode = 0;  } else if (!tok->cmp("V")) {    wMode = 1;  } else {    error(-1, "Bad '%s' config file command (%s:%d)",	  cmdName, fileName->getCString(), line);    return;  }  param = new PSFontParam(((GString *)tokens->get(1))->copy(),			  wMode,			  ((GString *)tokens->get(3))->copy(),			  ((GString *)tokens->get(4))->copy());  fontList->append(param);}void GlobalParams::parseTextEncoding(GList *tokens, GString *fileName,				     int line) {  if (tokens->getLength() != 2) {    error(-1, "Bad 'textEncoding' config file command (%s:%d)",	  fileName->getCString(), line);    return;  }  delete textEncoding;  textEncoding = ((GString *)tokens->get(1))->copy();}void GlobalParams::parseTextEOL(GList *tokens, GString *fileName, int line) {  GString *tok;  if (tokens->getLength() != 2) {    error(-1, "Bad 'textEOL' config file command (%s:%d)",	  fileName->getCString(), line);    return;  }  tok = (GString *)tokens->get(1);  if (!tok->cmp("unix")) {    textEOL = eolUnix;  } else if (!tok->cmp("dos")) {    textEOL = eolDOS;  } else if (!tok->cmp("mac")) {    textEOL = eolMac;  } else {    error(-1, "Bad 'textEOL' config file command (%s:%d)",	  fileName->getCString(), line);  }}void GlobalParams::parseFontDir(GList *tokens, GString *fileName, int line) {  if (tokens->getLength() != 2) {    error(-1, "Bad 'fontDir' config file command (%s:%d)",	  fileName->getCString(), line);    return;  }  fontDirs->append(((GString *)tokens->get(1))->copy());}void GlobalParams::parseInitialZoom(GList *tokens,				    GString *fileName, int line) {  if (tokens->getLength() != 2) {    error(-1, "Bad 'initialZoom' config file command (%s:%d)",	  fileName->getCString(), line);    return;  }  delete initialZoom;  initialZoom = ((GString *)tokens->get(1))->copy();}void GlobalParams::parseScreenType(GList *tokens, GString *fileName,				   int line) {  GString *tok;  if (tokens->getLength() != 2) {    error(-1, "Bad 'screenType' config file command (%s:%d)",	  fileName->getCString(), line);    return;  }  tok = (GString *)tokens->get(1);  if (!tok->cmp("dispersed")) {    screenType = screenDispersed;  } else if (!tok->cmp("clustered")) {    screenType = screenClustered;  } else if (!tok->cmp("stochasticClustered")) {    screenType = screenStochasticClustered;  } else {    error(-1, "Bad 'screenType' config file command (%s:%d)",	  fileName->getCString(), line);  }}void GlobalParams::parseBind(GList *tokens, GString *fileName, int line) {  KeyBinding *binding;  GList *cmds;  int code, mods, context, i;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -