#include "setup/LanguageEntry.hpp" #include #include #include "util/load.hpp" void convert(iconv_t converter, const std::string & from, std::string & to); void LanguageEntry::load(std::istream & is, const inno_version & version) { if(version >= INNO_VERSION(4, 0, 0)) { is >> encoded_string(name, version.codepage()); } else { name = "default"; } is >> encoded_string(languageName, (version >= INNO_VERSION(4, 2, 2)) ? 1200 : 1252); is >> encoded_string(dialogFontName, version.codepage()); is >> encoded_string(titleFontName, version.codepage()); is >> encoded_string(welcomeFontName, version.codepage()); is >> encoded_string(copyrightFontName, version.codepage()); if(version >= INNO_VERSION(4, 0, 0)) { is >> binary_string(data); } if(version >= INNO_VERSION(4, 0, 1)) { is >> ansi_string(licenseText); is >> ansi_string(infoBeforeText); is >> ansi_string(infoAfterText); } else { licenseText.clear(), infoBeforeText.clear(), infoAfterText.clear(); } languageId = load_number(is); if(version >= INNO_VERSION(4, 2, 2) && (version < INNO_VERSION(5, 3, 0) || !version.unicode)) { codepage = load_number(is); } else { codepage = 0; } if(!codepage) { codepage = version.codepage(); } dialogFontSize = load_number(is); if(version < INNO_VERSION(4, 1, 0)) { dialogFontStandardHeight = load_number(is); } else { dialogFontStandardHeight = 0; } titleFontSize = load_number(is); welcomeFontSize = load_number(is); copyrightFontSize = load_number(is); if(version >= INNO_VERSION(5, 2, 3)) { rightToLeft = ::load(is); } else { rightToLeft = false; } }