iTextSharp.text.pdf.TrueTypeFont.AddRangeUni C# (CSharp) 메소드

AddRangeUni() 공개 메소드

public AddRangeUni ( int[]>.Dictionary longTag, bool includeMetrics, bool subsetp ) : void
longTag int[]>.Dictionary
includeMetrics bool
subsetp bool
리턴 void
        public void AddRangeUni(Dictionary<int, int[]> longTag, bool includeMetrics, bool subsetp)
        {
            if (!subsetp && (subsetRanges != null || directoryOffset > 0)) {
                int[] rg = (subsetRanges == null && directoryOffset > 0) ? new int[]{0, 0xffff} : CompactRanges(subsetRanges);
                Dictionary<int, int[]> usemap;
                if (!fontSpecific && cmap31 != null)
                    usemap = cmap31;
                else if (fontSpecific && cmap10 != null)
                    usemap = cmap10;
                else if (cmap31 != null)
                    usemap = cmap31;
                else
                    usemap = cmap10;
                foreach (KeyValuePair<int,int[]> e in usemap) {
                    int[] v = e.Value;
                    int gi = v[0];
                    if (longTag.ContainsKey(gi))
                        continue;
                    int c = e.Key;
                    bool skip = true;
                    for (int k = 0; k < rg.Length; k += 2) {
                        if (c >= rg[k] && c <= rg[k + 1]) {
                            skip = false;
                            break;
                        }
                    }
                    if (!skip)
                        longTag[gi] = includeMetrics ? new int[]{v[0], v[1], c} : null;
                }
            }
        }