Name Description Size Coverage
Bidi.cpp static 6670 -
Bidi.h This component is a Mozilla-focused API for working with bidirectional (bidi) text. Text is commonly displayed left to right (LTR), especially for Latin-based alphabets. However, languages like Arabic and Hebrew displays text right to left (RTL). When displaying text, LTR and RTL text can be combined together in the same paragraph. This class gives tools for working with unidirectional, and mixed direction paragraphs. See the Unicode Bidirectional Algorithm document for implementation details: https://unicode.org/reports/tr9/ 6474 -
BidiClass.h Read ftp://ftp.unicode.org/Public/UNIDATA/ReadMe-Latest.txt section BIDIRECTIONAL PROPERTIES for the detailed definition of the following categories The values here must match the equivalents in %bidicategorycode in mozilla/intl/unicharutil/tools/genUnicodePropertyData.pl, and must also match the values used by ICU's UCharDirection. 1383 -
BidiEmbeddingLevel.cpp 1478 -
BidiEmbeddingLevel.h This file has the BidiEmbeddingLevel and BidiDirection enum broken out from the main Bidi class for faster includes. This code is used in Layout which could trigger long build times when changing core mozilla::intl files. 4227 -
calendar -
Calendar.cpp static 4917 -
Calendar.h Weekdays in the ISO-8601 calendar. 3556 -
Collator.cpp 9699 -
Collator.h Construct from a raw UCollator. This is public so that the UniquePtr can access it. 11172 -
Currency.cpp 679 -
Currency.h This component is a Mozilla-focused API for working with currencies in internationalization code. 762 -
DateIntervalFormat.cpp PartitionDateTimeRangePattern ( dateTimeFormat, x, y ), steps 9-11. Examine the formatted value to see if any interval span field is present. https://tc39.es/ecma402/#sec-partitiondatetimerangepattern 10671 -
DateIntervalFormat.h This component is a Mozilla-focused API for the date range formatting provided by ICU. This DateIntervalFormat class helps to format the range between two date-time values. https://tc39.es/ecma402/#sec-formatdatetimerange https://tc39.es/ecma402/#sec-formatdatetimerangetoparts 4715 -
DateTimeFormat.cpp Parse a pattern according to the format specified in <https://unicode.org/reports/tr35/tr35-dates.html#Date_Format_Patterns>. 39316 -
DateTimeFormat.h To work around webcompat problems caused by Narrow No-Break Space in formatted date/time output, where existing code on the web naively assumes there will be a normal Space, we replace any occurrences of U+202F in the formatted results with U+0020. The intention is to undo this hack once other major browsers are also ready to ship with the updated (ICU72) i18n data that uses NNBSP. See https://bugzilla.mozilla.org/show_bug.cgi?id=1806042 for details, and see DateIntervalFormat.cpp for the other piece of this hack. 21549 -
DateTimeFormatUtils.cpp Set the start time of the Gregorian calendar. This is useful for ensuring the consistent use of a proleptic Gregorian calendar for ECMA-402. https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar 7043 -
DateTimeFormatUtils.h 862 -
DateTimePart.h The 'Part' object defined in FormatDateTimeToParts and FormatDateTimeRangeToParts Each part consists of three properties: ||Type||, ||Value|| and ||Source||, with the ||Source|| property is set to DateTimePartSource::Shared by default. (Note: From the spec, the part from FormatDateTimeToParts doesn't have the ||Source|| property, so if the caller is FormatDateTimeToParts, it should ignore the ||Source|| property). To store DateTimePart more efficiently, it doesn't store the ||Value|| of type string in this struct. Instead, it stores the end index of the string in the buffer(which is passed to DateTimeFormat::TryFormatToParts() or can be got by calling AutoFormattedDateInterval::ToSpan()). The begin index of the ||Value|| is the mEndIndex of the previous part. Buffer 0 i j +---------------+---------------+---------------+ | Part[0].Value | Part[1].Value | Part[2].Value | .... +---------------+---------------+---------------+ Part[0].mEndIndex is i. Part[0].Value is stored in the Buffer[0..i]. Part[1].mEndIndex is j. Part[1].Value is stored in the Buffer[i..j]. See: https://tc39.es/ecma402/#sec-formatdatetimetoparts https://tc39.es/ecma402/#sec-formatdatetimerangetoparts 2797 -
DateTimePatternGenerator.cpp static 1398 -
DateTimePatternGenerator.h The DateTimePatternGenerator is the machinery used to work with DateTime pattern manipulation. It is expensive to create one, and so generally it is created once and then cached. It may be needed to be passed in as an argument for different mozilla::intl APIs. 5636 -
DisplayNames.cpp static 7910 -
DisplayNames.h Provide more granular errors for DisplayNames rather than use the generic ICUError type. This helps with providing more actionable feedback for errors with input validation. This type can't be nested in the DisplayNames class because it needs the UnusedZero and HasFreeLSB definitions. 32300 -
FormatBuffer.h This file contains public adaptors for the mozilla::intl Buffer template argument. Adaptors that can automatically be deduced are kept as private in ICU4CGlue.h. There is also the SpiderMonkey specific adaptor js::intl::FormatBuffer in js/src/builtin/intl/FormatBuffer.h. 2237 -
GeneralCategory.h 1298 -
ICU4CGlue.cpp 1234 -
ICU4CGlue.h Map the "und" locale to an empty string, which ICU uses internally. 22091 -
ICU4CLibrary.cpp context = 1287 -
ICU4CLibrary.h Wrapper around non-portable, ICU4C specific functions. 1910 -
ICUError.h General purpose error type for operations that can result in an ICU error. 4006 -
ListFormat.cpp static 3855 -
ListFormat.h This component is a Mozilla-focused API for the list formatting provided by ICU. It implements the API provided by the ECMA-402 Intl.ListFormat object. https://tc39.es/ecma402/#listformat-objects 7814 -
Locale.cpp 46459 -
Locale.h Structured representation of Unicode locale IDs used with Intl functions. Spec: https://unicode.org/reports/tr35/tr35.html#Unicode_Language_and_Locale_Identifiers 25513 -
LocaleCanonicalizer.cpp static 1079 -
LocaleCanonicalizer.h 32 is somewhat an arbitrary size, but it should fit most locales on the stack to avoid heap allocations. 1444 -
LocaleGenerated.cpp 49139 -
MeasureUnit.cpp 3305 -
MeasureUnit.h This component is a Mozilla-focused API for working with measurement units in internationalization code. It is used in coordination with other operations such as number formatting. 4319 -
MeasureUnitGenerated.h The list of currently supported simple unit identifiers. The list must be kept in alphabetical order of |name|. 1676 -
NumberFormat.cpp static 5383 -
NumberFormat.h Configure NumberFormat options. The supported display styles are: * Decimal (default) * Currency (controlled by mCurrency) * Unit (controlled by mUnit) * Percent (controlled by mPercent) Only one of mCurrency, mUnit or mPercent should be set. If none are set, the number will formatted as a decimal. https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#unit 14334 -
NumberFormatFields.cpp 13672 -
NumberFormatFields.h 2708 -
NumberFormatterSkeleton.cpp 15827 -
NumberFormatterSkeleton.h Class to create a number formatter skeleton. The skeleton syntax is documented at: https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md 3729 -
NumberingSystem.cpp 1050 -
NumberingSystem.h This component is a Mozilla-focused API for working with numbering systems in internationalization code. It is used in coordination with other operations such as number formatting. 1581 -
NumberParser.cpp static 1447 -
NumberParser.h Initialize a new NumberParser for the provided locale and using the provided options. 1382 -
NumberPart.h 1263 -
NumberRangeFormat.cpp static 7255 -
NumberRangeFormat.h NumberRangeFormatOptions supports the same set of options as NumberFormatOptions and additionally allows to control how to display ranges. 7820 -
PluralRules.cpp 6021 -
PluralRules.h The set of keywords that a PluralRules object uses. https://tc39.es/ecma402/#sec-intl.pluralrules.prototype.resolvedoptions 6839 -
RelativeTimeFormat.cpp static 5190 -
RelativeTimeFormat.h Only strings with numeric components like `1 day ago`. 4867 -
ScopedICUObject.h A simple RAII class to assure ICU objects are automatically deallocated at scope end. Unfortunately, ICU's C++ API is uniformly unstable, so we can't use its smart pointers for this. 1070 -
String.cpp 391 -
String.h This component is a Mozilla-focused API for working with strings in internationalization code. 8320 -
TimeZone.cpp static 13212 -
TimeZone.h This component is a Mozilla-focused API for working with time zones in internationalization code. It is used in coordination with other operations such as datetime formatting. 8931 -
UnicodeProperties.h This component is a Mozilla-focused API for working with text properties. 12676 -
UnicodeScriptCodes.h Derived from the Unicode Character Database by genUnicodePropertyData.pl For Unicode terms of use, see http://www.unicode.org/terms_of_use.html 5621 -