/* -*- Mode: C++; tab-width: 40; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
// static
nsCString PrintStringDetail::PrintCharData(char32_t aChar) { switch (aChar) { case 0x0000: return"NULL (0x0000)"_ns; case 0x0008: return"BACKSPACE (0x0008)"_ns; case 0x0009: return"CHARACTER TABULATION (0x0009)"_ns; case 0x000A: return"LINE FEED (0x000A)"_ns; case 0x000B: return"LINE TABULATION (0x000B)"_ns; case 0x000C: return"FORM FEED (0x000C)"_ns; case 0x000D: return"CARRIAGE RETURN (0x000D)"_ns; case 0x0018: return"CANCEL (0x0018)"_ns; case 0x001B: return"ESCAPE (0x001B)"_ns; case 0x0020: return"SPACE (0x0020)"_ns; case 0x007F: return"DELETE (0x007F)"_ns; case 0x00A0: return"NO-BREAK SPACE (0x00A0)"_ns; case 0x00AD: return"SOFT HYPHEN (0x00AD)"_ns; case 0x2000: return"EN QUAD (0x2000)"_ns; case 0x2001: return"EM QUAD (0x2001)"_ns; case 0x2002: return"EN SPACE (0x2002)"_ns; case 0x2003: return"EM SPACE (0x2003)"_ns; case 0x2004: return"THREE-PER-EM SPACE (0x2004)"_ns; case 0x2005: return"FOUR-PER-EM SPACE (0x2005)"_ns; case 0x2006: return"SIX-PER-EM SPACE (0x2006)"_ns; case 0x2007: return"FIGURE SPACE (0x2007)"_ns; case 0x2008: return"PUNCTUATION SPACE (0x2008)"_ns; case 0x2009: return"THIN SPACE (0x2009)"_ns; case 0x200A: return"HAIR SPACE (0x200A)"_ns; case 0x200B: return"ZERO WIDTH SPACE (0x200B)"_ns; case 0x200C: return"ZERO WIDTH NON-JOINER (0x200C)"_ns; case 0x200D: return"ZERO WIDTH JOINER (0x200D)"_ns; case 0x200E: return"LEFT-TO-RIGHT MARK (0x200E)"_ns; case 0x200F: return"RIGHT-TO-LEFT MARK (0x200F)"_ns; case 0x2029: return"PARAGRAPH SEPARATOR (0x2029)"_ns; case 0x202A: return"LEFT-TO-RIGHT EMBEDDING (0x202A)"_ns; case 0x202B: return"RIGHT-TO-LEFT EMBEDDING (0x202B)"_ns; case 0x202D: return"LEFT-TO-RIGHT OVERRIDE (0x202D)"_ns; case 0x202E: return"RIGHT-TO-LEFT OVERRIDE (0x202E)"_ns; case 0x202F: return"NARROW NO-BREAK SPACE (0x202F)"_ns; case 0x205F: return"MEDIUM MATHEMATICAL SPACE (0x205F)"_ns; case 0x2060: return"WORD JOINER (0x2060)"_ns; case 0x2066: return"LEFT-TO-RIGHT ISOLATE (0x2066)"_ns; case 0x2067: return"RIGHT-TO-LEFT ISOLATE (0x2067)"_ns; case 0x3000: return"IDEOGRAPHIC SPACE (0x3000)"_ns; case 0xFEFF: return"ZERO WIDTH NO-BREAK SPACE (0xFEFF)"_ns; default: { if (aChar < ' ' || (aChar >= 0x80 && aChar < 0xA0)) { return nsPrintfCString("Control (0x%04X)", aChar);
} if (NS_IS_HIGH_SURROGATE(aChar)) { return nsPrintfCString("High Surrogate (0x%04X)", aChar);
} if (NS_IS_LOW_SURROGATE(aChar)) { return nsPrintfCString("Low Surrogate (0x%04X)", aChar);
} if (gfxFontUtils::IsVarSelector(aChar)) { return IS_IN_BMP(aChar)
? nsPrintfCString("Variant Selector (0x%04X)", aChar)
: nsPrintfCString("Variant Selector (0x%08X)", aChar);
}
nsAutoString utf16Str;
AppendUCS4ToUTF16(aChar, utf16Str); return IS_IN_BMP(aChar)
? nsPrintfCString("'%s' (0x%04X)",
NS_ConvertUTF16toUTF8(utf16Str).get(), aChar)
: nsPrintfCString("'%s' (0x%08X)",
NS_ConvertUTF16toUTF8(utf16Str).get(),
aChar);
}
}
}
namespace widget {
std::ostream& operator<<(std::ostream& aStream, const IMEEnabled& aEnabled) { switch (aEnabled) { case IMEEnabled::Disabled: return aStream << "DISABLED"; case IMEEnabled::Enabled: return aStream << "ENABLED"; case IMEEnabled::Password: return aStream << "PASSWORD"; case IMEEnabled::Unknown: return aStream << "illegal value";
}
MOZ_ASSERT_UNREACHABLE("Add a case to handle your new IMEEnabled value"); return aStream;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.