Hi Branden, It is with a heavy heart that I announce I shall be leaving the groff mailing list, I'm finding it too much work. Yesterday, you managed over 2900 words in approx 80 minutes whilst also doing a code review, and probably 3 other things as well! I am so jealous my paltry sub 10 words a minutes (on a good day) just can't cope, particularly as you sometimes have difficulty getting the points I am trying to make and reply with points which are not relevant. An example was your "unease" with adding an extra field to afmtodit output, you pointed me to some documentation rather than a swift perusal of the code in afmtodit where you can see that it ALWAYS outputs 5 tab characters and never outputs -- so no comments. And talking of "unease", you wrote, in reply to my request for help with merging: "Sure. Once we're _both_ happy with it! :D", and this was eight months ago, so unease really does mean rejection. In November it became:-
> > 1. Changing the format of font description files to add yet > > another field, mapping character names to Unicode code points. > > In the rest of groff, this is not necessary because we have > > glyphuni.cpp. > > > > > > https://git.savannah.gnu.org/cgit/groff.git/tree/src/libs/libgroff/ glyphuni > > .cpp > > > > I'd like to honor the DRY principle here. What's a good way > > to achieve that? Given that afmtodit does not use glyphuni.cpp (and can't) the DRY principle here means to let afmtodit plant the needed data in the font files for gropdf to use, but you didn't seem to see how irrelevant your comment was. Anyway, enough of this useless banter. This is a joyful moment, I'm freeing up so much time to pursue other projects that will be equally rewarding as writing gropdf has been, like:- Detection of bias in UK news channels In the UK there is a legal obligation for "Due impartiality and due accuracy" (https://www.ofcom.org.uk/tv-radio-and-on-demand/broadcast-codes/broadcast-code/section-five-due-impartiality-accuracy). For the past 4 years, I have been converting the dvb-t subtitles for news channels into text using an OCR program I wrote. It's about time I fooled around with the data using NLP and see if it is possible to detect bias within the data, at a minimum I can extract statistics on the political persuasion of guests, but I've got a feeling I might be able to go further. GB News, a right wing channel, keeps getting fined. I'd love to be able to write something which automatically emailed a complaint to Ofcom if it caught them breaking the rules, without having to watch the channel all day. :-) My autobiography Well, I've got the title - "A life more ordinary"!! If I ever get the gropdf itch in the future, this is my todo list:- A) Underlining text. Peter asked if I could do this, ages ago because he has a method for postscript, from Tadziu. It is half done. B) Watermarking Given a pdf scale to full page size and place it under the groff output, or stamp, put it above it. I have worked out the last wrinkle. Normally, if you rotate the page with -P-l any pdfpic will be rotated as well, so that the picture orientation stays with the text orientation but the watermark orientation is controlled by the page orientation. C) Ttf/otf in pdfs This is a lot of work, but I was starting to get a handle on it. Incidentally, if I ever do get this done, the Tibet ligatures issue will be solved. The reason it seems to be Ok everywhere else except in groff, is because the "rules" for the ligature placement/resizing are in sub-tables within the ttf font file, but in the fontforge conversion to a pfa file most of this information is discarded because type 1 fonts have no concept of vertical adjustments so all that gets through is the horizontal adjustment which ensures the glyphs print over each other, but without the correct vertical adjustment/sizing. Still a lot of research to do. I've just seen your last email with a lot of nice things, but sometimes you confuse "code review" with "design review". If someone wants to know how to get to the doctor it is not helpful to say "Well I would not start from here”. I have told you right from the beginning that all I needed was a way to pass anything to gropdf, and so I coded on the expectation I could receive anything and dealt with it appropriately. This is all working code. Later you expressed a preference for a method where you would clean the data within troff so I would not need to, but I already had working code and so far any alternative is vapourware, and the only pseudo code I've seen (a for loop with a flag to indicate whether the next item is a node or a character), with the expectation that nodes will be discarded, would not cut the mustard because I believe special characters (i.e. \[uXXXX] or \[em]) are actually held as nodes within troff so would be discarded as not a character. So the criticism is of my design, hardly what I call a code review and far too late to initiate a design review after all the code has been written. One could see the current changes to \X and .device as a futile attempt to prevent my design from working by introducing a new error (not in 1.23.0) which prevents special characters being passed to output drivers. On current master try this:- [derij@pip Russian]$ printf "\&\n.device \\[u0403]\n"|./test-groff -Tpdf -z troff:<standard input>:2: error: special character 'u0413_0301' is invalid within a device control command And it has been like that for weeks, is this a case of Branden trying to force his design? At some point he will have to reverse the change since his design requires the ability to pass special characters to the output driver. Maybe this will finally get reversed when the vapourware is ready. :-) Or may be soon after reading this. :-) Futile because circumvention of the new error was fairly simple. Since I won't be around to change gropdf to use the new vapourware, and given the amount of new code in gropdf to handle font subsetting it will probably be sensible to revert to the 1.23.0 version of gropdf before the next release, since that code base has been well tested and although the font subsetting has been tested on about a hundred fonts there are thousands of different fonts out there which it has not been tested with, and disassembling a rogue font and comparing it to the subsetting code is not an easy task. If you do chance your arm with the new code, please could you remove my authorship since I have asked you not to release it when I can't support it. I started this at 9:30 this morning (after a particularly sleepless night, one coffee break, and cooked the other half's lunch (she's the girl next door - known her for 65 years - also has cerebral palsy like me - she thinks us being together is divine providence, but I think everyone's unlucky sometimes. No, no no, don't mean it, I love her.)), it is now 17:45 and I'm starting to get excited this is my last monster typing marathon, and I say farewell to the lovely people on the list, I shall be clocking off the list probably tomorrow, I can't say I won't be back at some point, but I definitely need a good 6 months at least. You have warn me out Branden, you should have agreed to video calls when I suggested it. :-) Cheers Deri x