home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / bpos13.zip / pmfont.pas < prev    next >
Pascal/Delphi Source File  |  1993-11-24  |  4KB  |  133 lines

  1. {**************************************************************************\
  2. *
  3. * Module Name: PMFONT.H
  4. *
  5. * OS/2 Presentation Manager type declarations for Fonts.
  6. *
  7. * Copyright (c) International Business Machines Corporation 1981, 1988-1990
  8. *
  9. \**************************************************************************}
  10.  
  11. {| Version:   1.00
  12.  | Original translation: Peter Singer (PSi)
  13.  }
  14. Unit PmFONT;
  15. Interface
  16. Uses
  17.   Os2Def;
  18.  
  19. TYPE
  20.     FOCAMETRICS = record      { foca }
  21.       ulIdentity,
  22.       ulSize     : ULONG;
  23.       szFamilyname,
  24.       szFacename : array[0..31] of char;
  25.       usRegistryId,
  26.       usCodePage,
  27.       yEmHeight,
  28.       yXHeight,
  29.       yMaxAscender,
  30.       yMaxDescender,
  31.       yLowerCaseAscent,
  32.       yLowerCaseDescent,
  33.       yInternalLeading,
  34.       yExternalLeading,
  35.       xAveCharWidth,
  36.       xMaxCharInc,
  37.       xEmInc,
  38.       yMaxBaselineExt,
  39.       sCharSlope,
  40.       sInlineDir,
  41.       sCharRot     : SHORT;
  42.       usWeightClass,
  43.       usWidthClass : USHORT;
  44.       xDeviceRes,
  45.       yDeviceRes,
  46.       usFirstChar,
  47.       usLastChar,
  48.       usDefaultChar,
  49.       usBreakChar,
  50.       usNominalPointSize,
  51.       usMinimumPointSize,
  52.       usMaximumPointSize,
  53.       fsTypeFlags,
  54.       fsDefn,
  55.       fsSelectionFlags,
  56.       fsCapabilities,
  57.       ySubscriptXSize,
  58.       ySubscriptYSize,
  59.       ySubscriptXOffset,
  60.       ySubscriptYOffset,
  61.       ySuperscriptXSize,
  62.       ySuperscriptYSize,
  63.       ySuperscriptXOffset,
  64.       ySuperscriptYOffset,
  65.       yUnderscoreSize,
  66.       yUnderscorePosition,
  67.       yStrikeoutSize,
  68.       yStrikeoutPosition,
  69.       usKerningPairs,
  70.       sFamilyClass       : SHORT;
  71.       pszDeviceNameOffset: PSZ;
  72.     end;
  73.     PFOCAMETRICS = ^FOCAMETRICS;
  74.  
  75.     FONTDEFINITIONHEADER = record      { fdh }
  76.       ulIdentity,
  77.       ulSize         : ULONG;
  78.       fsFontdef,
  79.       fsChardef,
  80.       usCellSize,
  81.       xCellWidth,
  82.       yCellHeight,
  83.       xCellIncrement,
  84.       xCellA,
  85.       xCellB,
  86.       xCellC,
  87.       pCellBaseOffset: SHORT;
  88.     end;
  89.     PFONTDEFINITIONHEADER = ^FONTDEFINITIONHEADER;
  90.  
  91. CONST
  92.      FONTDEFFONT1   =  $0047;     { set width, height, inc. & base offset }
  93.      FONTDEFFONT2   =  $0042;     { set heigh=t & base offset              }
  94.      FONTDEFFONT3   =  $0042;    { set height & base offset              }
  95.      FONTDEFCHAR1   =  $0081;     { set char offset and width             }
  96.      FONTDEFCHAR2   =  $0081;     { set char offset and width             }
  97.      FONTDEFCHAR3   =  $00b8;     { set char offset, A, B, and C space    }
  98.      SPACE_UNDEF    =  $8000;     { space undefined = take default        }
  99.  
  100. TYPE
  101.     FONTSIGNATURE = record     { fs }
  102.       ulIdentity,
  103.       ulSize      : ULONG;
  104.       achSignature:  Array[0..11] of char;
  105.     end;
  106.     PFONTSIGNATURE = ^FONTSIGNATURE;
  107.  
  108.     FOCAFONT = record      { ff }
  109.       fsSignature  : FONTSIGNATURE;
  110.       fmMetrics    : FOCAMETRICS;
  111.       fdDefinitions: FONTDEFINITIONHEADER;
  112.     end;
  113.     PFOCAFONT = ^FOCAFONT;
  114.  
  115. CONST
  116.      FONT_SIGNATURE =  $fffffffe;   { Identity header start                 }
  117.      FONT_METRICS   =  $00000001;   { Identity metrics                      }
  118.      FONT_DEFINITION=  $00000002;   { Identity definition                   }
  119.      FONT_ENDRECORD =  $ffffffff;   { Identity record end                   }
  120.  
  121. { Options for QueryFonts }
  122.  
  123.      QUERY_PUBLIC_FONTS    =  $0001;
  124.      QUERY_PRIVATE_FONTS   =  $0002;
  125.  
  126.      CDEF_GENERIC          =  $0001;
  127.      CDEF_BOLD             =  $0002;
  128.      CDEF_ITALIC           =  $0004;
  129.      CDEF_UNDERSCORE       =  $0008;
  130.      CDEF_STRIKEOUT        =  $0010;
  131.      CDEF_OUTLINE          =  $0020;
  132. implementation
  133. end.