[BACK]Return to out.h CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Diff for /mandoc/out.h between version 1.11 and 1.19

version 1.11, 2010/06/19 20:46:28 version 1.19, 2011/04/09 15:29:40
Line 1 
Line 1 
 /*      $Id$ */  /*      $Id$ */
 /*  /*
  * Copyright (c) 2009 Kristaps Dzonsons <kristaps@bsd.lv>   * Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
  *   *
  * Permission to use, copy, modify, and distribute this software for any   * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above   * purpose with or without fee is hereby granted, provided that the above
Line 17 
Line 17 
 #ifndef OUT_H  #ifndef OUT_H
 #define OUT_H  #define OUT_H
   
 #define DATESIZ         24  
   
 __BEGIN_DECLS  
   
 enum    roffscale {  enum    roffscale {
         SCALE_CM,          SCALE_CM, /* centimeters (c) */
         SCALE_IN,          SCALE_IN, /* inches (i) */
         SCALE_PC,          SCALE_PC, /* pica (P) */
         SCALE_PT,          SCALE_PT, /* points (p) */
         SCALE_EM,          SCALE_EM, /* ems (m) */
         SCALE_MM,          SCALE_MM, /* mini-ems (M) */
         SCALE_EN,          SCALE_EN, /* ens (n) */
         SCALE_BU,          SCALE_BU, /* default horizontal (u) */
         SCALE_VS,          SCALE_VS, /* default vertical (v) */
         SCALE_FS,          SCALE_FS, /* syn. for u (f) */
         SCALE_MAX          SCALE_MAX
 };  };
   
 enum    roffdeco {  enum    chars {
         DECO_NONE,          CHARS_ASCII, /* 7-bit ascii representation */
         DECO_SPECIAL,          CHARS_HTML /* unicode values */
         DECO_RESERVED,  
         DECO_BOLD,  
         DECO_ITALIC,  
         DECO_ROMAN,  
         DECO_PREVIOUS,  
         DECO_SIZE,  
         DECO_NOSPACE,  
         DECO_FONT, /* font */  
         DECO_FFONT, /* font family */  
         DECO_MAX  
 };  };
   
   struct  roffcol {
           size_t           width; /* width of cell */
           size_t           decimal; /* decimal position in cell */
   };
   
 struct  roffsu {  struct  roffsu {
         enum roffscale    unit;          enum roffscale    unit;
         double            scale;          double            scale;
         int               pt;  
 };  };
   
 #define SCALE_INVERT(p) \  typedef size_t  (*tbl_strlen)(const char *, void *);
         do { (p)->scale = -(p)->scale; } \  typedef size_t  (*tbl_len)(size_t, void *);
         while (/* CONSTCOND */ 0)  
   
   struct  rofftbl {
           tbl_strlen       slen; /* calculate string length */
           tbl_len          len; /* produce width of empty space */
           struct roffcol  *cols; /* master column specifiers */
           void            *arg; /* passed to slen and len */
   };
   
   __BEGIN_DECLS
   
 #define SCALE_VS_INIT(p, v) \  #define SCALE_VS_INIT(p, v) \
         do { (p)->unit = SCALE_VS; \          do { (p)->unit = SCALE_VS; \
              (p)->scale = (v); \               (p)->scale = (v); } \
              (p)->pt = 0; } \  
         while (/* CONSTCOND */ 0)          while (/* CONSTCOND */ 0)
   
 #define SCALE_HS_INIT(p, v) \  #define SCALE_HS_INIT(p, v) \
         do { (p)->unit = SCALE_BU; \          do { (p)->unit = SCALE_BU; \
              (p)->scale = (v); \               (p)->scale = (v); } \
              (p)->pt = 0; } \  
         while (/* CONSTCOND */ 0)          while (/* CONSTCOND */ 0)
   
 int               a2roffsu(const char *,  int               a2roffsu(const char *, struct roffsu *, enum roffscale);
                         struct roffsu *, enum roffscale);  void              time2a(time_t, char *, size_t);
 int               a2roffdeco(enum roffdeco *, const char **, size_t *);  void              tblcalc(struct rofftbl *tbl, const struct tbl_span *);
 void              time2a(time_t, char *, size_t);  
   
   void             *chars_init(enum chars);
   const char       *chars_num2char(const char *, size_t);
   const char       *chars_spec2str(void *, const char *, size_t, size_t *);
   int               chars_spec2cp(void *, const char *, size_t);
   const char       *chars_res2str(void *, const char *, size_t, size_t *);
   int               chars_res2cp(void *, const char *, size_t);
   void              chars_free(void *);
   
 __END_DECLS  __END_DECLS
   
 #endif /*!HTML_H*/  #endif /*!OUT_H*/

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.19

CVSweb