blob: d0c8823796692419a719faf75799c710b4882f27 [file] [log] [blame]
// LUCENENET TODO: Port issues - missing Normalizer2 dependency from icu.net
//using Icu;
//using Lucene.Net.Analysis.Util;
//using Lucene.Net.Support;
//using System;
//using System.Collections.Generic;
//using System.IO;
//using System.Linq;
//using System.Text;
//using System.Threading.Tasks;
//namespace Lucene.Net.Analysis.ICU
//{
// /*
// * Licensed to the Apache Software Foundation (ASF) under one or more
// * contributor license agreements. See the NOTICE file distributed with
// * this work for additional information regarding copyright ownership.
// * The ASF licenses this file to You under the Apache License, Version 2.0
// * (the "License"); you may not use this file except in compliance with
// * the License. You may obtain a copy of the License at
// *
// * http://www.apache.org/licenses/LICENSE-2.0
// *
// * Unless required by applicable law or agreed to in writing, software
// * distributed under the License is distributed on an "AS IS" BASIS,
// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// * See the License for the specific language governing permissions and
// * limitations under the License.
// */
// public class ICUNormalizer2CharFilterFactory : CharFilterFactory, IMultiTermAwareComponent
// {
// private readonly Normalizer2 normalizer;
// /// <summary>Creates a new ICUNormalizer2CharFilterFactory</summary>
// public ICUNormalizer2CharFilterFactory(IDictionary<string, string> args)
// : base(args)
// {
// string name = Get(args, "name", "NFKC");
// //string name = Get(args, "name", "nfkc_cf");
// //string mode = Get(args, "mode", new string[] { "compose", "decompose" }, "compose");
// //Normalizer2 normalizer = Normalizer2.getInstance
// // (null, name, "compose".Equals(mode) ? Normalizer2.Mode.COMPOSE : Normalizer2.Mode.DECOMPOSE);
// var mode = (Icu.Normalizer.UNormalizationMode)Enum.Parse(typeof(Icu.Normalizer.UNormalizationMode), "UNORM_" + name);
// Normalizer2 normalizer = new Normalizer2(mode);
// string filter = Get(args, "filter");
// if (filter != null)
// {
// //UnicodeSet set = new UnicodeSet(filter);
// var set = UnicodeSet.ToCharacters(filter);
// if (set.Any())
// {
// //set.freeze();
// normalizer = new FilteredNormalizer2(normalizer, set);
// }
// }
// if (args.Count != 0)
// {
// throw new ArgumentException("Unknown parameters: " + args);
// }
// this.normalizer = normalizer;
// }
// public override TextReader Create(TextReader input)
// {
// return new ICUNormalizer2CharFilter(input, normalizer);
// }
// public virtual AbstractAnalysisFactory GetMultiTermComponent()
// {
// return this;
// }
// }
//}