- case 0xa3: // £ POUND SIGN
- if (bparams.inputenc == "default") {
- os << "\\pounds{}";
- column += 8;
- } else {
- os.put(c);
- }
- break;
-
- case 0x20ac: // EURO SIGN
- if (isEncoding(bparams, font, "latin9")
- || isEncoding(bparams, font, "cp1251")
- || isEncoding(bparams, font, "utf8")) {
- os.put(c);
- } else {
- os << "\\texteuro{}";
- column += 10;
- }
- break;
-
- // These characters are covered by latin1, but not
- // by latin9 (a.o.). We have to support them because
- // we switched the default of latin1-languages to latin9
- case 0xa4: // CURRENCY SYMBOL
- case 0xa6: // BROKEN BAR
- case 0xa8: // DIAERESIS
- case 0xb4: // ACUTE ACCENT
- case 0xb8: // CEDILLA
- case 0xbd: // 1/2 FRACTION
- case 0xbc: // 1/4 FRACTION
- case 0xbe: // 3/4 FRACTION
- if (isEncoding(bparams, font, "latin1")
- || isEncoding(bparams, font, "latin5")
- || isEncoding(bparams, font, "utf8")) {
- os.put(c);
- break;
- } else {
- switch (c) {
- case 0xa4:
- os << "\\textcurrency{}";
- column += 15;
- break;
- case 0xa6:
- os << "\\textbrokenbar{}";
- column += 16;
- break;
- case 0xa8:
- os << "\\textasciidieresis{}";
- column += 20;
- break;
- case 0xb4:
- os << "\\textasciiacute{}";
- column += 17;
- break;
- case 0xb8: // from latin1.def:
- os << "\\c\\ ";
- column += 3;
- break;
- case 0xbd:
- os << "\\textonehalf{}";
- column += 14;
- break;
- case 0xbc:
- os << "\\textonequarter{}";
- column += 17;
- break;
- case 0xbe:
- os << "\\textthreequarters{}";
- column += 20;
- break;
- }
- break;
- }
-