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