Lines Matching refs:ps

44 	(size_t)((double)(x) * (1000.0 / (double)(p)->ps->scale))
48 ((double)(x) / (1000.0 / (double)(p)->ps->scale))
548 p->ps = mandoc_calloc(1, sizeof(struct termp_ps));
594 p->ps->scale = 11;
608 lineheight = PNT2AFM(p, ((double)p->ps->scale * 1.4));
610 p->ps->width = p->ps->lastwidth = (size_t)pagex;
611 p->ps->height = (size_t)pagey;
612 p->ps->header = pagey - (marginy / 2) - (lineheight / 2);
613 p->ps->top = pagey - marginy;
614 p->ps->footer = (marginy / 2) - (lineheight / 2);
615 p->ps->bottom = marginy;
616 p->ps->left = marginx;
617 p->ps->lineheight = lineheight;
628 lastwidth = p->ps->width;
630 p->ps->width += width;
632 p->ps->width = width ? (size_t)width : p->ps->lastwidth;
633 else if (p->ps->width > (size_t)width)
634 p->ps->width -= width;
636 p->ps->width = 0;
637 p->ps->lastwidth = lastwidth;
647 free(p->ps->psmarg);
648 free(p->ps->pdfobjs);
650 free(p->ps);
668 if ( ! (PS_MARGINS & p->ps->flags)) {
671 p->ps->pdfbytes += len < 0 ? 0 : (size_t)len;
683 pos = (int)p->ps->psmargcur;
684 vsnprintf(&p->ps->psmarg[pos], PS_BUFSLOP, fmt, ap);
688 p->ps->psmargcur = strlen(p->ps->psmarg);
698 if ( ! (PS_MARGINS & p->ps->flags)) {
700 p->ps->pdfbytes++;
706 pos = (int)p->ps->psmargcur++;
707 p->ps->psmarg[pos++] = c;
708 p->ps->psmarg[pos] = '\0';
717 if ((obj - 1) >= p->ps->pdfobjsz) {
718 p->ps->pdfobjsz = obj + 128;
719 p->ps->pdfobjs = mandoc_reallocarray(p->ps->pdfobjs,
720 p->ps->pdfobjsz, sizeof(size_t));
723 p->ps->pdfobjs[(int)obj - 1] = p->ps->pdfbytes;
740 assert(p->ps->psmarg && p->ps->psmarg[0]);
741 ps_printf(p, "%s", p->ps->psmarg);
746 len = p->ps->pdfbytes - p->ps->pdflastpg;
747 base = p->ps->pages * 4 + p->ps->pdfbody;
774 p->ps->pages++;
775 p->ps->psrow = p->ps->top;
776 assert( ! (PS_NEWPAGE & p->ps->flags));
777 p->ps->flags |= PS_NEWPAGE;
791 if ( ! (PS_NEWPAGE & p->ps->flags)) {
792 assert(0 == p->ps->flags);
793 assert('\0' == p->ps->last);
799 ps_printf(p, "%%%%Pages: %zu\n", p->ps->pages);
807 (size_t)AFM2PNT(p, p->ps->width),
808 (size_t)AFM2PNT(p, p->ps->height));
810 ps_printf(p, "/Count %zu\n", p->ps->pages);
813 for (i = 0; i < p->ps->pages; i++)
814 ps_printf(p, " %zu 0 R", i * 4 + p->ps->pdfbody + 3);
816 base = (p->ps->pages - 1) * 4 + p->ps->pdfbody + 4;
824 xref = p->ps->pdfbytes;
831 p->ps->pdfobjs[(int)i]);
854 if (p->ps->psmarg) {
855 assert(p->ps->psmargsz);
856 p->ps->psmarg[0] = '\0';
859 /*p->ps->pdfbytes = 0;*/
860 p->ps->psmargcur = 0;
861 p->ps->flags = PS_MARGINS;
862 p->ps->pscol = p->ps->left;
863 p->ps->psrow = p->ps->header;
870 p->ps->pscol = p->ps->left;
871 p->ps->psrow = p->ps->footer;
876 p->ps->flags &= ~PS_MARGINS;
878 assert(0 == p->ps->flags);
879 assert(p->ps->psmarg);
880 assert('\0' != p->ps->psmarg[0]);
895 (size_t)AFM2PNT(p, p->ps->width),
896 (size_t)AFM2PNT(p, p->ps->height));
921 p->ps->pdfbody = (size_t)TERMFONT__MAX + 3;
922 p->ps->pscol = p->ps->left;
923 p->ps->psrow = p->ps->top;
924 p->ps->flags |= PS_NEWPAGE;
938 if (PS_NEWPAGE & p->ps->flags) {
941 p->ps->pages + 1, p->ps->pages + 1);
943 fonts[(int)p->ps->lastf].name,
944 p->ps->scale);
946 pdf_obj(p, p->ps->pdfbody +
947 p->ps->pages * 4);
950 p->ps->pdfbody + 1 + p->ps->pages * 4);
953 p->ps->pdflastpg = p->ps->pdfbytes;
954 p->ps->flags &= ~PS_NEWPAGE;
962 if ( ! (PS_INLINE & p->ps->flags)) {
965 (int)p->ps->lastf, p->ps->scale);
967 AFM2PNT(p, p->ps->pscol),
968 AFM2PNT(p, p->ps->psrow));
971 AFM2PNT(p, p->ps->pscol),
972 AFM2PNT(p, p->ps->psrow));
973 p->ps->flags |= PS_INLINE;
976 assert( ! (PS_NEWPAGE & p->ps->flags));
997 f = (int)p->ps->lastf;
1004 p->ps->pscol += (size_t)fonts[f].gly[c].wx;
1017 if ( ! (PS_INLINE & p->ps->flags))
1025 p->ps->flags &= ~PS_INLINE;
1040 if (p->ps->last != '\0') {
1041 assert( ! (p->ps->flags & PS_BACKSP));
1042 if (p->ps->nextf != p->ps->lastf) {
1044 ps_setfont(p, p->ps->nextf);
1046 p->ps->nextf = TERMFONT_NONE;
1047 ps_pletter(p, p->ps->last);
1048 p->ps->last = '\0';
1051 if ( ! (PS_INLINE & p->ps->flags))
1072 assert(p->ps->last != '\0');
1073 assert( ! (p->ps->flags & PS_BACKSP));
1074 p->ps->flags |= PS_BACKSP;
1082 if (p->ps->flags & PS_BACKSP) {
1083 if (p->ps->last == '_') {
1084 switch (p->ps->nextf) {
1088 p->ps->nextf = TERMFONT_BI;
1091 p->ps->nextf = TERMFONT_UNDER;
1093 p->ps->last = c;
1094 p->ps->flags &= ~PS_BACKSP;
1097 if (p->ps->last == c) {
1098 switch (p->ps->nextf) {
1102 p->ps->nextf = TERMFONT_BI;
1105 p->ps->nextf = TERMFONT_BOLD;
1107 p->ps->flags &= ~PS_BACKSP;
1116 savecol = p->ps->pscol;
1126 if (p->ps->last != '\0') {
1127 if (p->ps->nextf != p->ps->lastf) {
1129 ps_setfont(p, p->ps->nextf);
1131 p->ps->nextf = TERMFONT_NONE;
1138 if (p->ps->pscolnext) {
1139 wx = fonts[p->ps->lastf].gly[(int)p->ps->last-32].wx;
1140 if (p->ps->pscol + wx < p->ps->pscolnext)
1141 p->ps->pscol = (p->ps->pscol +
1142 p->ps->pscolnext - wx) / 2;
1145 ps_pletter(p, p->ps->last);
1152 if (p->ps->pscol < p->ps->pscolnext) {
1154 p->ps->pscol = p->ps->pscolnext;
1165 p->ps->last = c;
1175 if (p->ps->pscolnext < p->ps->pscol)
1176 p->ps->pscolnext = p->ps->pscol;
1178 p->ps->pscol = savecol;
1179 p->ps->flags &= ~PS_BACKSP;
1181 p->ps->pscolnext = 0;
1196 p->ps->pscol += len;
1213 if (PS_MARGINS & p->ps->flags)
1218 p->ps->pscol = p->ps->left;
1222 if (PS_NEWPAGE & p->ps->flags)
1230 if (p->ps->psrow >= p->ps->lineheight + p->ps->bottom) {
1231 p->ps->psrow -= p->ps->lineheight;
1243 p->ps->lastf = f;
1250 if (PS_NEWPAGE & p->ps->flags)
1255 fonts[(int)f].name, p->ps->scale);
1258 (int)f, p->ps->scale);
1318 r = su->scale * p->ps->lineheight;
1331 if (p->ps->psmargcur + sz <= p->ps->psmargsz)
1337 p->ps->psmargsz += sz;
1338 p->ps->psmarg = mandoc_realloc(p->ps->psmarg, p->ps->psmargsz);