/// <seealso cref="Transliterator.AddSourceTargetSet(UnicodeSet, UnicodeSet, UnicodeSet)"/> #pragma warning disable 672 public override void AddSourceTargetSet(UnicodeSet inputFilter, UnicodeSet sourceSet, UnicodeSet targetSet) #pragma warning restore 672 { lock (this) { if (sourceTargetUtility == null) { sourceTargetUtility = new SourceTargetUtility(new StringTransform(transform: (source) => { return(UChar.ToTitleCase(locale, source, null)); })); } } sourceTargetUtility.AddSourceTargetSet(this, inputFilter, sourceSet, targetSet); }
/// <seealso cref="Transliterator.AddSourceTargetSet(UnicodeSet, UnicodeSet, UnicodeSet)"/> #pragma warning disable 672 public override void AddSourceTargetSet(UnicodeSet inputFilter, UnicodeSet sourceSet, UnicodeSet targetSet) #pragma warning restore 672 { if (sourceTargetUtility == null) { LazyInitializer.EnsureInitialized(ref sourceTargetUtility, () => { return(new SourceTargetUtility(new StringTransform(transform: (source) => { return UChar.ToTitleCase(locale, source, null); }))); }); } sourceTargetUtility.AddSourceTargetSet(this, inputFilter, sourceSet, targetSet); }
private string AdjustForUsageAndContext(CapitalizationContextUsage usage, string name) { if (name != null && name.Length > 0 && UChar.IsLower(name.CodePointAt(0)) && (displayContextOptions.Capitalization == Capitalization.BeginningOfSentence || (capitalizationUsage != null && capitalizationUsage[(int)usage]))) { // Note, won't have capitalizationUsage != null && capitalizationUsage[usage.ordinal()] // unless capitalization is CAPITALIZATION_FOR_UI_LIST_OR_MENU or CAPITALIZATION_FOR_STANDALONE // should only happen when deserializing, etc. LazyInitializer.EnsureInitialized(ref capitalizationBrkIter, () => BreakIterator.GetSentenceInstance(locale)); return(UChar.ToTitleCase(locale, name, capitalizationBrkIter, UChar.TitleCaseNoLowerCase | UChar.TitleCaseNoBreakAdjustment)); } return(name); }