public string ValueLabel(UInt16 settingsno, string langid, Encform utf)
 {
     UInt32 length;
     ushort langId = (ushort)Graphite2Api.StrToTag(langid);
     IntPtr labelPtr = Graphite2Api.FrefValueLabel(_featureRef, settingsno, ref langId, utf, out length);
     string retLabel = ConvertGraphiteLabelToString(labelPtr, utf, length);
     Graphite2Api.LabelDestroy(labelPtr);
     return retLabel;
 }
Exemplo n.º 2
0
        public string ValueLabel(UInt16 settingsno, string langid, Encform utf)
        {
            UInt32 length;
            ushort langId   = (ushort)Graphite2Api.StrToTag(langid);
            IntPtr labelPtr = Graphite2Api.FrefValueLabel(_featureRef, settingsno, ref langId, utf, out length);
            string retLabel = ConvertGraphiteLabelToString(labelPtr, utf, length);

            Graphite2Api.LabelDestroy(labelPtr);
            return(retLabel);
        }
Exemplo n.º 3
0
 public string Label(string langid, Encform utf)
 {
     UInt32 length;
     ushort langId = (ushort)Graphite2Api.StrToTag(langid);
     IntPtr labelPtr = Graphite2Api.FrefLabel(_featureRef, ref langId, utf, out length);
     if (labelPtr == IntPtr.Zero)
         return String.Empty;
     string retLabel = ConvertGraphiteLabelToString(labelPtr, utf, length);
     Graphite2Api.LabelDestroy(labelPtr);
     return retLabel;
 }
Exemplo n.º 4
0
        public string Label(string langid, Encform utf)
        {
            UInt32 length;
            ushort langId   = (ushort)Graphite2Api.StrToTag(langid);
            IntPtr labelPtr = Graphite2Api.FrefLabel(_featureRef, ref langId, utf, out length);

            if (labelPtr == IntPtr.Zero)
            {
                return(String.Empty);
            }
            string retLabel = ConvertGraphiteLabelToString(labelPtr, utf, length);

            Graphite2Api.LabelDestroy(labelPtr);
            return(retLabel);
        }
Exemplo n.º 5
0
        protected string ConvertGraphiteLabelToString(IntPtr labelPtr, Encform utf, UInt32 length)
        {
            switch (utf)
            {
            case Encform.Utf8:
                return(Marshal.PtrToStringAnsi(labelPtr, (int)length));

            case Encform.Utf16:
                return(Marshal.PtrToStringUni(labelPtr, (int)length));

            case Encform.utf32:
                // I am assuming that PtrToStringUni only works for utf-16
                throw new NotImplementedException("Getting labels as utf32 not supportted");

            default:
                throw new NotImplementedException("Unknown EncForm");
            }
        }
 protected string ConvertGraphiteLabelToString(IntPtr labelPtr, Encform utf, UInt32 length)
 {
     switch(utf)
     {
         case Encform.Utf8:
             return Marshal.PtrToStringAnsi(labelPtr, (int)length);
         case Encform.Utf16:
             return Marshal.PtrToStringUni(labelPtr, (int)length);
         case Encform.utf32:
             // I am assuming that PtrToStringUni only works for utf-16
             throw new NotImplementedException("Getting labels as utf32 not supportted");
         default:
             throw new NotImplementedException("Unknown EncForm");
     }
 }
Exemplo n.º 7
0
 internal static extern /*gr_segment**/ IntPtr MakeSeg(/*gr_font**/ IntPtr font, /*gr_face**/ IntPtr face, UInt32 script, /*gr_feature_val**/ IntPtr pFeats, Encform enc, IntPtr pStart, int nChars, Bidirtl dir);
Exemplo n.º 8
0
 internal static extern int CountUnicodeCharacters(Encform enc, IntPtr buffer_begin, IntPtr buffer_end, ref IntPtr pError);
Exemplo n.º 9
0
 internal static extern IntPtr FrefValueLabel(/*gr_feature_ref*/ IntPtr pfeatureref, UInt16 settingsno, ref UInt16 langId, Encform utf, out UInt32 length);
Exemplo n.º 10
0
 internal static extern IntPtr FrefLabel(/*gr_feature_ref*/ IntPtr pfeatureref, ref UInt16 langid, Encform utf, out UInt32 length);
 internal static extern IntPtr MakeSeg(/*gr_font**/IntPtr font, /*gr_face**/IntPtr face, UInt32 script, /*gr_feature_val**/IntPtr pFeats, Encform enc, IntPtr pStart, int nChars, Bidirtl dir);
 internal static extern IntPtr FrefValueLabel(/*gr_feature_ref*/ IntPtr pfeatureref, UInt16 settingsno, ref UInt16 langId, Encform utf, out UInt32 length);
 internal static extern IntPtr FrefLabel(/*gr_feature_ref*/ IntPtr pfeatureref, ref UInt16 langid, Encform utf, out UInt32 length);
 internal static extern int CountUnicodeCharacters(Encform enc, IntPtr buffer_begin, IntPtr buffer_end, ref IntPtr pError);