예제 #1
0
        public void AddScriptLangAndHint(string lang, string hint)
        {
            ScriptLang scriptLang = new ScriptLang(ScriptLangs.GetRegisteredScriptLangFromLanguageName(lang).shortname);

            if (scriptLang.IsEmpty())
            {
                //not found this lang
                System.Diagnostics.Debugger.Break();
            }
            else
            {
                GlyphTextureBuildDetail buildDetail = new GlyphTextureBuildDetail();

                buildDetail.ScriptLang = scriptLang;
                switch (hint)
                {
                case "truetype":
                    buildDetail.HintTechnique = HintTechnique.TrueTypeInstruction;
                    break;

                case "truetype_vertical_only":
                    buildDetail.HintTechnique = HintTechnique.TrueTypeInstruction_VerticalOnly;
                    break;

                case "cff":
                    buildDetail.HintTechnique = HintTechnique.CffHintInstruction;
                    break;
                }

                _scriptDic[lang] = buildDetail; //replace
            }
        }
예제 #2
0
        public void SetFont(Typeface typeface, float fontSizeInPoints)
        {
            _typeface = typeface;

            this.Text = typeface.Name + ", size=" + fontSizeInPoints + "pts";
            this.txtSelectedFontSize.Text = fontSizeInPoints.ToString();


            this.flowLayoutPanel1.Controls.Clear();
            _availableScripts.Clear();

            foreach (ScriptLang scriptLang in ScriptLangs.GetRegiteredScriptLangIter())
            {
                if (ScriptLangs.TryGetUnicodeLangBitsArray(scriptLang.shortname, out UnicodeLangBits[] unicodeLangs))
        public static void CollectAllAssociateGlyphIndex(this Typeface typeface, List <ushort> outputGlyphIndexList, ScriptLang scLang, UnicodeLangBits[] selectedRangs = null)
        {
            //-----------
            //general glyph index in the unicode range

            //if user dose not specific the unicode lanf bit ranges
            //the we try to select it ourself.
            UnicodeLangBits[] unicodeLangBitsRanges;
            if (ScriptLangs.TryGenUnicodeLangBitsArray(scLang.shortname, out unicodeLangBitsRanges))
            {
                //one lang may contains may ranges
                if (selectedRangs != null)
                {
                    //select only in range
                    unicodeLangBitsRanges = FilterOnlySelectedRange(unicodeLangBitsRanges, selectedRangs);
                }

                foreach (UnicodeLangBits unicodeLangBits in unicodeLangBitsRanges)
                {
                    UnicodeRangeInfo rngInfo = unicodeLangBits.ToUnicodeRangeInfo();
                    int endAt = rngInfo.EndAt;
                    for (int codePoint = rngInfo.StartAt; codePoint <= endAt; ++codePoint)
                    {
                        ushort glyghIndex = typeface.LookupIndex(codePoint);
                        if (glyghIndex > 0)
                        {
                            //add this glyph index
                            outputGlyphIndexList.Add(glyghIndex);
                        }
                    }
                }
            }

            //-----------
            if (typeface.GSUBTable != null)
            {
                var gsub = new GlyphSubstitution(typeface, scLang.shortname);
                gsub.CollectAdditionalSubstitutionGlyphIndices(outputGlyphIndexList);
            }
        }
예제 #4
0
 /// <summary>
 /// Sets a scripting language used for scripts.
 /// By default used mvel language.
 /// see: http://www.elasticsearch.org/guide/reference/modules/scripting.html
 /// </summary>
 public CustomScoreQuery <T> Lang(ScriptLangs lang)
 {
     return(Lang(lang.AsString()));
 }
예제 #5
0
 /// <summary>
 /// Sets a scripting language used for scripts.
 /// By default used mvel language.
 /// see: http://www.elasticsearch.org/guide/reference/modules/scripting.html
 /// </summary>
 public TermsStatsFacet <T> Lang(ScriptLangs lang)
 {
     return(Lang(lang.AsString()));
 }
예제 #6
0
 /// <summary>
 /// Sets a scripting language used for scripts.
 /// By default used mvel language.
 /// see: http://www.elasticsearch.org/guide/reference/modules/scripting.html
 /// </summary>
 public GeoDistanceFacet <T> Lang(ScriptLangs lang)
 {
     return(Lang(lang.AsString()));
 }
예제 #7
0
 /// <summary>
 /// Sets a scripting language used for scripts.
 /// By default used mvel language.
 /// see: http://www.elasticsearch.org/guide/reference/modules/scripting.html
 /// </summary>
 public ScriptFilter <T> Lang(ScriptLangs lang)
 {
     return(Lang(lang.AsString()));
 }
 /// <summary>
 /// Sets a scripting language used for scripts.
 /// By default used mvel language.
 /// see: http://www.elasticsearch.org/guide/reference/modules/scripting.html
 /// </summary>
 public ScriptScoreFunction <T> Lang(ScriptLangs lang)
 {
     return(Lang(lang.AsString()));
 }
예제 #9
0
 /// <summary>
 /// Sets a scripting language used for scripts.
 /// By default used groovy language.
 /// see: http://www.elasticsearch.org/guide/reference/modules/scripting.html
 /// </summary>
 public TAggregation Lang(ScriptLangs lang)
 {
     return(Lang(lang.AsString()));
 }
예제 #10
0
 /// <summary>
 /// Sets a scripting language used for scripts.
 /// By default used mvel language.
 /// see: http://www.elasticsearch.org/guide/reference/modules/scripting.html
 /// </summary>
 public StatisticalFacet <T> Lang(ScriptLangs lang)
 {
     return(Lang(lang.AsString()));
 }
예제 #11
0
 /// <summary>
 /// Sets a scripting language used for scripts.
 /// By default used mvel language.
 /// see: http://www.elasticsearch.org/guide/reference/modules/scripting.html
 /// </summary>
 public TFacet Lang(ScriptLangs lang)
 {
     return(Lang(lang.AsString()));
 }