public static int GetTextMetrics(HandleRef hDC, ref NativeMethods.TEXTMETRIC lptm)
 {
     if (Marshal.SystemDefaultCharSize == 1)
     {
         NativeMethods.TEXTMETRICA lptm2 = default(NativeMethods.TEXTMETRICA);
         int textMetricsA = GetTextMetricsA(hDC, ref lptm2);
         lptm.tmHeight           = lptm2.tmHeight;
         lptm.tmAscent           = lptm2.tmAscent;
         lptm.tmDescent          = lptm2.tmDescent;
         lptm.tmInternalLeading  = lptm2.tmInternalLeading;
         lptm.tmExternalLeading  = lptm2.tmExternalLeading;
         lptm.tmAveCharWidth     = lptm2.tmAveCharWidth;
         lptm.tmMaxCharWidth     = lptm2.tmMaxCharWidth;
         lptm.tmWeight           = lptm2.tmWeight;
         lptm.tmOverhang         = lptm2.tmOverhang;
         lptm.tmDigitizedAspectX = lptm2.tmDigitizedAspectX;
         lptm.tmDigitizedAspectY = lptm2.tmDigitizedAspectY;
         lptm.tmFirstChar        = (char)lptm2.tmFirstChar;
         lptm.tmLastChar         = (char)lptm2.tmLastChar;
         lptm.tmDefaultChar      = (char)lptm2.tmDefaultChar;
         lptm.tmBreakChar        = (char)lptm2.tmBreakChar;
         lptm.tmItalic           = lptm2.tmItalic;
         lptm.tmUnderlined       = lptm2.tmUnderlined;
         lptm.tmStruckOut        = lptm2.tmStruckOut;
         lptm.tmPitchAndFamily   = lptm2.tmPitchAndFamily;
         lptm.tmCharSet          = lptm2.tmCharSet;
         return(textMetricsA);
     }
     return(GetTextMetricsW(hDC, ref lptm));
 }
 public static extern int GetTextMetricsA(HandleRef hDC, [In][Out] ref NativeMethods.TEXTMETRICA lptm);