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

Diff for /mandoc/term_ps.c between version 1.59 and 1.64

version 1.59, 2014/04/20 16:46:05 version 1.64, 2014/08/13 20:34:29
Line 15 
Line 15 
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF   * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.   * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */   */
 #ifdef HAVE_CONFIG_H  
 #include "config.h"  #include "config.h"
 #endif  
   
 #include <sys/types.h>  #include <sys/types.h>
   
Line 628  pdf_obj(struct termp *p, size_t obj)
Line 626  pdf_obj(struct termp *p, size_t obj)
   
         if ((obj - 1) >= p->ps->pdfobjsz) {          if ((obj - 1) >= p->ps->pdfobjsz) {
                 p->ps->pdfobjsz = obj + 128;                  p->ps->pdfobjsz = obj + 128;
                 p->ps->pdfobjs = realloc(p->ps->pdfobjs,                  p->ps->pdfobjs = mandoc_reallocarray(p->ps->pdfobjs,
                     p->ps->pdfobjsz * sizeof(size_t));                      p->ps->pdfobjsz, sizeof(size_t));
                 if (NULL == p->ps->pdfobjs) {  
                         perror(NULL);  
                         exit((int)MANDOCLEVEL_SYSERR);  
                 }  
         }          }
   
         p->ps->pdfobjs[(int)obj - 1] = p->ps->pdfbytes;          p->ps->pdfobjs[(int)obj - 1] = p->ps->pdfbytes;
Line 918  ps_pletter(struct termp *p, int c)
Line 912  ps_pletter(struct termp *p, int c)
   
         f = (int)p->ps->lastf;          f = (int)p->ps->lastf;
   
         if (c <= 32 || (c - 32 >= MAXCHAR)) {          if (c <= 32 || c - 32 >= MAXCHAR)
                 ps_putchar(p, ' ');                  c = 32;
                 p->ps->pscol += (size_t)fonts[f].gly[0].wx;  
                 return;  
         }  
   
         ps_putchar(p, (char)c);          ps_putchar(p, (char)c);
         c -= 32;          c -= 32;
Line 1108  ps_width(const struct termp *p, int c)
Line 1099  ps_width(const struct termp *p, int c)
 {  {
   
         if (c <= 32 || c - 32 >= MAXCHAR)          if (c <= 32 || c - 32 >= MAXCHAR)
                 return((size_t)fonts[(int)TERMFONT_NONE].gly[0].wx);                  c = 0;
           else
                   c -= 32;
   
         c -= 32;  
         return((size_t)fonts[(int)TERMFONT_NONE].gly[c].wx);          return((size_t)fonts[(int)TERMFONT_NONE].gly[c].wx);
 }  }
   
Line 1123  ps_hspan(const struct termp *p, const struct roffsu *s
Line 1115  ps_hspan(const struct termp *p, const struct roffsu *s
          * All of these measurements are derived by converting from the           * All of these measurements are derived by converting from the
          * native measurement to AFM units.           * native measurement to AFM units.
          */           */
   
         switch (su->unit) {          switch (su->unit) {
           case SCALE_BU:
                   /*
                    * Traditionally, the default unit is fixed to the
                    * output media.  So this would refer to the point.  In
                    * mandoc(1), however, we stick to the default terminal
                    * scaling unit so that output is the same regardless
                    * the media.
                    */
                   r = PNT2AFM(p, su->scale * 72.0 / 240.0);
                   break;
         case SCALE_CM:          case SCALE_CM:
                 r = PNT2AFM(p, su->scale * 28.34);                  r = PNT2AFM(p, su->scale * 72.0 / 2.54);
                 break;                  break;
         case SCALE_IN:  
                 r = PNT2AFM(p, su->scale * 72);  
                 break;  
         case SCALE_PC:  
                 r = PNT2AFM(p, su->scale * 12);  
                 break;  
         case SCALE_PT:  
                 r = PNT2AFM(p, su->scale * 100);  
                 break;  
         case SCALE_EM:          case SCALE_EM:
                 r = su->scale *                  r = su->scale *
                     fonts[(int)TERMFONT_NONE].gly[109 - 32].wx;                      fonts[(int)TERMFONT_NONE].gly[109 - 32].wx;
                 break;                  break;
         case SCALE_MM:  
                 r = PNT2AFM(p, su->scale * 2.834);  
                 break;  
         case SCALE_EN:          case SCALE_EN:
                 r = su->scale *                  r = su->scale *
                     fonts[(int)TERMFONT_NONE].gly[110 - 32].wx;                      fonts[(int)TERMFONT_NONE].gly[110 - 32].wx;
                 break;                  break;
           case SCALE_IN:
                   r = PNT2AFM(p, su->scale * 72.0);
                   break;
           case SCALE_MM:
                   r = su->scale *
                       fonts[(int)TERMFONT_NONE].gly[109 - 32].wx / 100.0;
                   break;
           case SCALE_PC:
                   r = PNT2AFM(p, su->scale * 12.0);
                   break;
           case SCALE_PT:
                   r = PNT2AFM(p, su->scale * 1.0);
                   break;
         case SCALE_VS:          case SCALE_VS:
                 r = su->scale * p->ps->lineheight;                  r = su->scale * p->ps->lineheight;
                 break;                  break;
Line 1169  ps_growbuf(struct termp *p, size_t sz)
Line 1171  ps_growbuf(struct termp *p, size_t sz)
                 sz = PS_BUFSLOP;                  sz = PS_BUFSLOP;
   
         p->ps->psmargsz += sz;          p->ps->psmargsz += sz;
           p->ps->psmarg = mandoc_realloc(p->ps->psmarg, p->ps->psmargsz);
         p->ps->psmarg = mandoc_realloc  
                 (p->ps->psmarg, p->ps->psmargsz);  
 }  }

Legend:
Removed from v.1.59  
changed lines
  Added in v.1.64

CVSweb