World: r3wp
[Postscript] Emitting Postscript from REBOL
older newer | first last |
Henrik 20-Apr-2008 [1582] | as mentioned before, that won't work, because the font information is not obtainable from inside REBOL. it has to be done inside postscript. I've already tried that method a year ago and it failed. :-) |
Geomol 20-Apr-2008 [1583x3] | Remember what kind of language, PS is. |
There is no information about font (other than Times 40) in my example. | |
The 0x421 and 595 comes from the papersize, which is 595x842 when using A4. | |
Henrik 20-Apr-2008 [1586x2] | ok, tell me then the algorithm for calculating the font height inside REBOL. :-) you cannot possibly know without reading and parsing the .PFM files yourself. |
and as mentioned at first, I already tried the font size... doesn't work. | |
Geomol 20-Apr-2008 [1588] | Why would I need the font height? I didn't need that in my example to center the text. |
Henrik 20-Apr-2008 [1589] | no, because you probably were eyeballing it. |
Geomol 20-Apr-2008 [1590] | No, I didn't! :) |
Henrik 20-Apr-2008 [1591] | center the text ... are you talking about _horizontally_ centered text? |
Geomol 20-Apr-2008 [1592x2] | When you do things like: at 100x200 "some text" the character origin of the first character in the text is at position 100x200. |
No, horiz and vert! | |
Henrik 20-Apr-2008 [1594] | where did you get 0x421 from? |
Geomol 20-Apr-2008 [1595x2] | 0 is left side of paper. 421 is height of paper divided by 2. 842 / 2 = 421. |
Then it's centered. | |
Henrik 20-Apr-2008 [1597x3] | if that's the case, let me test the theory |
what?... | |
why doesn't that work for smaller cells? | |
Geomol 20-Apr-2008 [1600x2] | PageSize A4 page [ font [Times 18] at 60x421 "abcdefg" font [Times 36] at 130x421 "abcdefg" font [Times 96] at 260x421 "abcdefg" ] |
In my example, the baseline of all the text is vertical centered on the page. | |
Henrik 20-Apr-2008 [1602x3] | now I'm reallly confused. it would mean the height of the paper is somehow misleading. I tried your method in the table cells and get top-aligned text as I expected. |
sorry | |
not top-aligned text, but text where the baseline is the center. | |
Geomol 20-Apr-2008 [1605x2] | Ok, if it does, what you need. :-) |
Do you have the psrefman.pdf document for PS second edition? Seciton 5.4 has a drawing of font positioning. | |
Henrik 20-Apr-2008 [1607] | I. Need. Vertically. Centered. Text. :-) Is that so hard to understand? :-) |
Geomol 20-Apr-2008 [1608] | LOL :) |
Henrik 20-Apr-2008 [1609x2] | Your method produces this: http://hmkdesign.dk/rebol/postscript/testsheet.ps |
That is _not_ vertically centered text. That is text that is vertically centered around the baseline. | |
Geomol 20-Apr-2008 [1611] | Eh, the baseline is centered in each cell, right? And you're asking each word to be centered within its cell with equal space above and below the text? |
Henrik 20-Apr-2008 [1612] | ... yes :-) |
Geomol 20-Apr-2008 [1613] | Because if you want that, then it'll look strange, because each line in the table will have text jumping up and down, depending on whether you have letters like 'g' and 't' or you just have letters like 'a'. And that will look less nice to me. |
Henrik 20-Apr-2008 [1614] | sigh... I've already said 4 times that I use the alphabet to prevent this! :-) |
Geomol 20-Apr-2008 [1615] | But you're right, that if you really want that, then you need to get info from each letter in the font. |
Henrik 20-Apr-2008 [1616] | yes! now you get it |
Geomol 20-Apr-2008 [1617] | :) In REBOL/View, there is things like offsets to position text within field and so. Couldn't you go with something like that? Just subtract a little from each vertical position to get the text a little down, if you want? |
Henrik 20-Apr-2008 [1618] | then I have to do that for each single individual case. with the deadline I have to produce this table, that may be my option for now, but that is definitely not optimal. |
Geomol 20-Apr-2008 [1619x2] | If you have different fontsizes in your tables, you could do something like: y-pos: y-pos - (fontsize / 10) |
Then adjust the 10 factor, until you're satisfied. And that should then work for all fontsizes. | |
Henrik 20-Apr-2008 [1621] | well, possibly. I'll see if that works for now. |
Geomol 20-Apr-2008 [1622] | Sorry, that I find it hard to understand, what you mean from time to time, my fault. I get you now. I would put things like margins, linespace, vertical position within tables, etc. in a dialect above the postscript dialect level. Doing it that way, the same postscript dialect can be used for all sorts of layout engines, because it has little restriction. |
Henrik 20-Apr-2008 [1623] | for the syntax and input yes, but if you need accuracy, you need to get the information via postscript. |
Geomol 20-Apr-2008 [1624] | ok |
Henrik 20-Apr-2008 [1625] | because we are already doing it correctly using stringwidth, namely by calculating the text size accurately inside postscript. the same should count for the vertical size. it's strange that information is so hard to get. |
Geomol 20-Apr-2008 [1626] | Don't you think, it already is centered, if you take underline into consideration? It seems weird to me, that Adobe would position text being off some amount, either up or down. |
Henrik 20-Apr-2008 [1627x2] | it is not centered, because the baseline is not at the center of the text. if only it were :-) |
and the position calculation is around the baseline. | |
Geomol 20-Apr-2008 [1629] | That is the reason, that they put the baseline as they did? |
Henrik 20-Apr-2008 [1630x2] | the baseline is a typographical tool. it is the place where your letters are "resting" against, just like when you were learning to write in school, you had a guide line to write characters on. but the baseline itself is completely useless for vertical centering of text. |
adobe didn't invent the baseline | |
older newer | first last |