Lines Matching full:ps
45 (size_t)((double)(x) * (1000.0 / (double)(p)->ps->scale))
49 ((double)(x) / (1000.0 / (double)(p)->ps->scale))
543 p->ps = mandoc_calloc(1, sizeof(*p->ps)); in pspdf_alloc()
556 p->ps->medianame = "Letter"; in pspdf_alloc()
570 p->ps->medianame = "A3"; in pspdf_alloc()
574 p->ps->medianame = "A4"; in pspdf_alloc()
578 p->ps->medianame = "A5"; in pspdf_alloc()
582 p->ps->medianame = "Legal"; in pspdf_alloc()
586 p->ps->medianame = "CustomSize"; in pspdf_alloc()
596 p->ps->scale = 11; in pspdf_alloc()
610 lineheight = PNT2AFM(p, ((double)p->ps->scale * 1.4)); in pspdf_alloc()
612 p->ps->width = p->ps->lastwidth = (size_t)pagex; in pspdf_alloc()
613 p->ps->height = (size_t)pagey; in pspdf_alloc()
614 p->ps->header = pagey - (marginy / 2) - (lineheight / 2); in pspdf_alloc()
615 p->ps->top = pagey - marginy; in pspdf_alloc()
616 p->ps->footer = (marginy / 2) - (lineheight / 2); in pspdf_alloc()
617 p->ps->bottom = marginy; in pspdf_alloc()
618 p->ps->left = marginx; in pspdf_alloc()
619 p->ps->lineheight = lineheight; in pspdf_alloc()
630 lastwidth = p->ps->width; in ps_setwidth()
632 p->ps->width += width; in ps_setwidth()
634 p->ps->width = width ? (size_t)width : p->ps->lastwidth; in ps_setwidth()
635 else if (p->ps->width > (size_t)width) in ps_setwidth()
636 p->ps->width -= width; in ps_setwidth()
638 p->ps->width = 0; in ps_setwidth()
639 p->ps->lastwidth = lastwidth; in ps_setwidth()
649 free(p->ps->psmarg); in pspdf_free()
650 free(p->ps->pdfobjs); in pspdf_free()
652 free(p->ps); in pspdf_free()
670 if ( ! (PS_MARGINS & p->ps->flags)) { in ps_printf()
673 p->ps->pdfbytes += len < 0 ? 0 : (size_t)len; in ps_printf()
685 pos = (int)p->ps->psmargcur; in ps_printf()
686 vsnprintf(&p->ps->psmarg[pos], PS_BUFSLOP, fmt, ap); in ps_printf()
690 p->ps->psmargcur = strlen(p->ps->psmarg); in ps_printf()
700 if ( ! (PS_MARGINS & p->ps->flags)) { in ps_putchar()
702 p->ps->pdfbytes++; in ps_putchar()
708 pos = (int)p->ps->psmargcur++; in ps_putchar()
709 p->ps->psmarg[pos++] = c; in ps_putchar()
710 p->ps->psmarg[pos] = '\0'; in ps_putchar()
719 if ((obj - 1) >= p->ps->pdfobjsz) { in pdf_obj()
720 p->ps->pdfobjsz = obj + 128; in pdf_obj()
721 p->ps->pdfobjs = mandoc_reallocarray(p->ps->pdfobjs, in pdf_obj()
722 p->ps->pdfobjsz, sizeof(size_t)); in pdf_obj()
725 p->ps->pdfobjs[(int)obj - 1] = p->ps->pdfbytes; in pdf_obj()
742 assert(p->ps->psmarg && p->ps->psmarg[0]); in ps_closepage()
743 ps_printf(p, "%s", p->ps->psmarg); in ps_closepage()
746 len = p->ps->pdfbytes - p->ps->pdflastpg; in ps_closepage()
747 base = p->ps->pages * 4 + p->ps->pdfbody; in ps_closepage()
774 p->ps->pages++; in ps_closepage()
775 p->ps->psrow = p->ps->top; in ps_closepage()
776 assert( ! (PS_NEWPAGE & p->ps->flags)); in ps_closepage()
777 p->ps->flags |= PS_NEWPAGE; in ps_closepage()
794 if ( ! (PS_NEWPAGE & p->ps->flags)) { in ps_end()
795 assert(0 == p->ps->flags); in ps_end()
796 assert('\0' == p->ps->last); in ps_end()
802 ps_printf(p, "%%%%Pages: %zu\n", p->ps->pages); in ps_end()
810 (size_t)AFM2PNT(p, p->ps->width), in ps_end()
811 (size_t)AFM2PNT(p, p->ps->height)); in ps_end()
813 ps_printf(p, "/Count %zu\n", p->ps->pages); in ps_end()
816 for (i = 0; i < p->ps->pages; i++) in ps_end()
817 ps_printf(p, " %zu 0 R", i * 4 + p->ps->pdfbody + 3); in ps_end()
819 base = (p->ps->pages - 1) * 4 + p->ps->pdfbody + 4; in ps_end()
827 xref = p->ps->pdfbytes; in ps_end()
834 p->ps->pdfobjs[(int)i]); in ps_end()
858 if (p->ps->psmarg) { in ps_begin()
859 assert(p->ps->psmargsz); in ps_begin()
860 p->ps->psmarg[0] = '\0'; in ps_begin()
863 /*p->ps->pdfbytes = 0;*/ in ps_begin()
864 p->ps->psmargcur = 0; in ps_begin()
865 p->ps->flags = PS_MARGINS; in ps_begin()
866 p->ps->pscol = p->ps->left; in ps_begin()
867 p->ps->psrow = p->ps->header; in ps_begin()
868 p->ps->lastrow = 0; /* impossible row */ in ps_begin()
875 p->ps->pscol = p->ps->left; in ps_begin()
876 p->ps->psrow = p->ps->footer; in ps_begin()
881 p->ps->flags &= ~PS_MARGINS; in ps_begin()
883 assert(0 == p->ps->flags); in ps_begin()
884 assert(p->ps->psmarg); in ps_begin()
885 assert('\0' != p->ps->psmarg[0]); in ps_begin()
893 width = AFM2PNT(p, p->ps->width); in ps_begin()
894 height = AFM2PNT(p, p->ps->height); in ps_begin()
896 ps_printf(p, "%%!PS-Adobe-3.0\n"); in ps_begin()
902 p->ps->medianame, width, height); in ps_begin()
915 ps_printf(p, "/fs %zu def\n", p->ps->scale); in ps_begin()
926 p->ps->medianame); in ps_begin()
949 p->ps->pdfbody = (size_t)TERMFONT__MAX + 3; in ps_begin()
950 p->ps->pscol = p->ps->left; in ps_begin()
951 p->ps->psrow = p->ps->top; in ps_begin()
952 p->ps->flags |= PS_NEWPAGE; in ps_begin()
966 if (PS_NEWPAGE & p->ps->flags) { in ps_pletter()
969 p->ps->pages + 1, p->ps->pages + 1); in ps_pletter()
970 ps_printf(p, "f%d\n", (int)p->ps->lastf); in ps_pletter()
972 pdf_obj(p, p->ps->pdfbody + in ps_pletter()
973 p->ps->pages * 4); in ps_pletter()
976 p->ps->pdfbody + 1 + p->ps->pages * 4); in ps_pletter()
979 p->ps->pdflastpg = p->ps->pdfbytes; in ps_pletter()
980 p->ps->flags &= ~PS_NEWPAGE; in ps_pletter()
988 if ( ! (PS_INLINE & p->ps->flags)) { in ps_pletter()
991 (int)p->ps->lastf, p->ps->scale); in ps_pletter()
993 AFM2PNT(p, p->ps->pscol), in ps_pletter()
994 AFM2PNT(p, p->ps->psrow)); in ps_pletter()
996 ps_printf(p, "%.3f", AFM2PNT(p, p->ps->pscol)); in ps_pletter()
997 if (p->ps->psrow != p->ps->lastrow) in ps_pletter()
999 AFM2PNT(p, p->ps->psrow)); in ps_pletter()
1002 p->ps->flags |= PS_INLINE; in ps_pletter()
1005 assert( ! (PS_NEWPAGE & p->ps->flags)); in ps_pletter()
1026 f = (int)p->ps->lastf; in ps_pletter()
1033 p->ps->pscol += (size_t)fonts[f].gly[c].wx; in ps_pletter()
1046 if ( ! (PS_INLINE & p->ps->flags)) in ps_pclose()
1051 else if (p->ps->psrow == p->ps->lastrow) in ps_pclose()
1055 p->ps->lastrow = p->ps->psrow; in ps_pclose()
1058 p->ps->flags &= ~PS_INLINE; in ps_pclose()
1067 if (p->ps->last == '\0') in ps_plast()
1072 if (p->ps->nextf != p->ps->lastf) { in ps_plast()
1074 ps_setfont(p, p->ps->nextf); in ps_plast()
1076 p->ps->nextf = TERMFONT_NONE; in ps_plast()
1083 if (p->ps->pscolnext) { in ps_plast()
1084 wx = fonts[p->ps->lastf].gly[(int)p->ps->last-32].wx; in ps_plast()
1085 if (p->ps->pscol + wx < p->ps->pscolnext) in ps_plast()
1086 p->ps->pscol = (p->ps->pscol + in ps_plast()
1087 p->ps->pscolnext - wx) / 2; in ps_plast()
1090 ps_pletter(p, p->ps->last); in ps_plast()
1091 p->ps->last = '\0'; in ps_plast()
1098 if (p->ps->pscol < p->ps->pscolnext) { in ps_plast()
1100 p->ps->pscol = p->ps->pscolnext; in ps_plast()
1119 assert(p->ps->last != '\0'); in ps_letter()
1120 assert( ! (p->ps->flags & PS_BACKSP)); in ps_letter()
1121 p->ps->flags |= PS_BACKSP; in ps_letter()
1129 if (p->ps->flags & PS_BACKSP) { in ps_letter()
1130 if (p->ps->last == '_') { in ps_letter()
1131 switch (p->ps->nextf) { in ps_letter()
1135 p->ps->nextf = TERMFONT_BI; in ps_letter()
1138 p->ps->nextf = TERMFONT_UNDER; in ps_letter()
1140 p->ps->last = c; in ps_letter()
1141 p->ps->flags &= ~PS_BACKSP; in ps_letter()
1144 if (p->ps->last == c) { in ps_letter()
1145 switch (p->ps->nextf) { in ps_letter()
1149 p->ps->nextf = TERMFONT_BI; in ps_letter()
1152 p->ps->nextf = TERMFONT_BOLD; in ps_letter()
1154 p->ps->flags &= ~PS_BACKSP; in ps_letter()
1163 savecol = p->ps->pscol; in ps_letter()
1181 p->ps->last = c; in ps_letter()
1191 if (p->ps->pscolnext < p->ps->pscol) in ps_letter()
1192 p->ps->pscolnext = p->ps->pscol; in ps_letter()
1194 p->ps->pscol = savecol; in ps_letter()
1195 p->ps->flags &= ~PS_BACKSP; in ps_letter()
1197 p->ps->pscolnext = 0; in ps_letter()
1213 p->ps->pscol += len; in ps_advance()
1231 if (PS_MARGINS & p->ps->flags) in ps_endline()
1236 p->ps->pscol = p->ps->left; in ps_endline()
1240 if (PS_NEWPAGE & p->ps->flags) in ps_endline()
1248 if (p->ps->psrow >= p->ps->lineheight + p->ps->bottom) { in ps_endline()
1249 p->ps->psrow -= p->ps->lineheight; in ps_endline()
1267 p->ps->lastf = f; in ps_setfont()
1274 if (PS_NEWPAGE & p->ps->flags) in ps_setfont()
1281 (int)f, p->ps->scale); in ps_setfont()
1341 r = su->scale * p->ps->lineheight; in ps_hspan()
1354 if (p->ps->psmargcur + sz <= p->ps->psmargsz) in ps_growbuf()
1360 p->ps->psmargsz += sz; in ps_growbuf()
1361 p->ps->psmarg = mandoc_realloc(p->ps->psmarg, p->ps->psmargsz); in ps_growbuf()