IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2015/02/16)20150217 
tor8 Robin_Watts: none of the stuff is particularly end-user facing09:18.35 
  Robin_Watts: reference counting fz_path/text, and added a set of helper functions to reduce the amount of lock/unlock boilerplate for reference counting are in commits on tor/drop10:06.19 
  if you give those the nod, I'll push drop to master if the clusterpush doesn't fall over10:06.53 
Robin_Watts looking now.10:08.53 
  Being really picky...10:11.08 
  if (p) { ....... return something; } return 0;10:11.19 
  That's better done as: if (!p) return 0; ...... return something;10:11.39 
  why make someone read all the way through the long block just to see the return 0 ?10:11.55 
  removes a big block of indentation too.10:12.51 
tor8 but it's such a small block! :)10:14.50 
Robin_Watts Urgh. whitespace wars :(10:15.57 
  removing { } from after fz_try etc feels so wrong10:16.34 
tor8 really? that's why we've been super paranoid with the do/while(0) dancing (that, and having break target) in the macros...10:18.12 
  and the 'bloat' of needing 6 lines of braces for a one-line try-protected call has always bothered me10:18.40 
Robin_Watts tor8: I said it felt wrong. I didn't necessarily say it *was* wrong :)10:18.48 
tor8 so I'm trying using unbraced oneliners and it helps a bit10:19.08 
Robin_Watts if (path->refs > 1) .... I would prefer if (path->refs != 0), but again that's me being picky.10:19.32 
tor8 my other thought was adding a fourth macro, #define fz_finally(ctx) fz_catch(ctx) fz_rethrow(ctx);10:19.34 
  which commit (path->refs > 1) ?10:20.08 
Robin_Watts (cos for *some* things you can have static ones on the stack, with -ve numbers)10:20.12 
  4th one down.10:20.15 
  tor8: I've thought of fz_catch_and_rethrow() before.10:20.49 
tor8 sorry, don't find what you're referring to10:21.06 
Robin_Watts bah. 5th one down, sorry.10:21.21 
  Disallow modification of shared fz_path and fz_text.10:21.31 
tor8 oh, right10:21.34 
  then you mean != 110:21.49 
Robin_Watts I do. sorry.10:21.57 
tor8 but we can't have texts and paths statically10:21.58 
  but I see your point in terms of symmetry10:22.09 
Robin_Watts No, but I'm dumb enough to cut and paste this for the next ref counted object :)10:22.20 
tor8 I'll fix, in case we do add statically allocated paths and text objects (which would make sense for say rects)10:22.29 
Robin_Watts I think that's all the whining I can manage :)10:23.41 
tor8 much less than I anticipated :)10:23.57 
  you've been desensitized by SOT10:24.09 
  Robin_Watts: no cluster differences10:27.37 
  so with the 'shared fz_path' refs != 1 fix, it's good to push?10:27.59 
Robin_Watts yeah.10:28.05 
tor8 carpet yanking time, WOO!10:28.13 
Robin_Watts You've updated android right?10:28.31 
tor8 yes, android should be good10:28.39 
Robin_Watts that leaves ios and win810:28.45 
tor8 ios is in a mess10:28.53 
  and win8, did mvrhel move that to a separate repository yet?10:29.02 
Robin_Watts tor8: I cannot see such a separate repo.10:29.40 
tor8 ah, crap. android needs fixing for the fz_page change.10:30.39 
  I'll do that now.10:30.41 
Robin_Watts The qt version shares some code with the win8 one, so it's just possible that updating the win8 one will make the qt one work.10:31.34 
  but I wouldn't bet on it.10:31.38 
tor8 should we get paulgardiner or jogux to fix the ios one?10:34.04 
Robin_Watts dunno.10:35.33 
  perhaps fred.10:46.32 
henrys Robin_Watts: curious if after your phone incident with your carrier if you kept your online account? I'm back to mail billing but that's a pain.14:36.05 
  tor8: why do we need a mujstest for every mupdf commit?14:38.24 
tor8 henrys: doesn't your bank have proper electronic identity services based on cryptographic devices or codes?14:40.50 
  henrys: no idea, you'll have to ask Robin_Watts about mujstesting14:40.59 
  henrys: it's testing the javascript in forms in mupdf, not mujs14:41.21 
  it case there was any confusion about that14:41.36 
henrys tor8: right I was thinking there might be a way to identify when the form related stuff changed and only run the tests for that but that's probably not worthwhile and too difficult to tease out.14:44.32 
tor8 henrys: yeah. though we very rarely do touch that stuff, so we could move it to a manually invoked test if it takes a lot of cluster time14:45.56 
henrys tor8: this is my verizon account (cell phone carrier), they also sell phones. So somebody breaks into your account, buys a phone and it's billed to your account.14:45.59 
tor8 henrys: ah, so changing credit card and password isn't enough?14:47.49 
henrys tor8: it seems like there should be an identity challeng when you ask to ship something to a new address but I don't know if that was hacked around or they just don't bother.14:47.57 
tor8 they probably don't bother ... any sort of challenge in web shopping hurts the conversion rate (from just browsing to actually buying stuff)14:49.21 
  I'm sure they've calculated the loss from covering for identity theft and weighed that against the lost shopping any inconvenience causes14:50.14 
Robin_Watts henrys: I was with EE. The fraud was with O2. It was completely unrelated to me.14:52.01 
  hence I didn't change anything.14:52.08 
tor8 Robin_Watts: fz_device rework is up on tor/master14:52.27 
henrys tor8:probably but you'd think a phone carrier could drop you a text but two factor schemes have problems too.14:52.33 
tor8 banging on the pdf_process stuff now14:52.33 
  thinking of making a pdf_processor struct much like the new fz_device with subclassing instead of the current process/processor/csi14:53.08 
  henrys: don't forget you're talking about telecoms... :/14:53.46 
FreezingCold I have a doc that's been turned into a PDF by GNU Ghostscript 7.06 (Windows), and I'm trying to get some usable text out of it15:01.48 
kens You're almost certainly out of luck then.15:02.00 
Robin_Watts FreezingCold: OK, stop there.15:02.02 
FreezingCold When I try to copy paste something, I get stuff like "4XDWWHVWVWULSVUHTXLUHGRQV"15:02.15 
Robin_Watts Try again with a more modern version of gs. That's a decade or so old, I think.15:02.17 
FreezingCold Robin_Watts: I didn't create the PDF.15:02.26 
kens Bets bet is OCR15:02.37 
Robin_Watts They you're out of luck.15:02.56 
  s/They/Then/15:03.01 
FreezingCold Why can't I reverse it though? PDF viewers are able to decode it as something15:03.06 
kens Tesseract maybe ?15:03.08 
Robin_Watts PDF viewers know how to render the glyphs.15:03.18 
kens FreezingCold : no, they draw the glyphs as instructed, they don;t know what the glyphs represent15:03.30 
Robin_Watts They don't know what glyph corresponds to what unicode value though.15:03.33 
FreezingCold =\15:03.48 
  that sucks15:03.49 
kens Tha'ts hte way it is.15:03.57 
  Like I said, try OCR15:04.07 
Robin_Watts Newer versions of gs may well do a better job.15:04.12 
tor8 note, *may*, it also depends on the format and how well constructed the input document is15:04.47 
FreezingCold Robin_Watts: I'm trying to create a list of the most unsafe places to eat in the city, I feel like I'm not going to get a lot of support from the city to change their data so I can make a joke better :p15:05.13 
kens And how the conversion is specified, its possible these days to convert all text to outlines,so there is no text in the PDF file.15:05.20 
  FreezingCold : use OCR software, several will take PDF as an input15:05.40 
  Apparently Google Docs can do this15:06.25 
  http://www.makeuseof.com/tag/3-free-ocr-tools-convert-files-editable-documents/15:06.39 
  paulgardiner : any idea on this one :15:08.33 
  http://stackoverflow.com/questions/28564204/adding-annotation-to-mupdf-android15:08.33 
paulgardiner kens: just looking15:11.25 
kens thanks15:11.29 
FreezingCold kens: heh, kinda sucks that PDF's destroy so much15:15.29 
  *these PDFs15:15.35 
kens FreezingCold : its a by product of the conversion on a truly ancient version of Ghostscript.15:15.49 
  As tor8 said, current versions generally do not do so, although I should point out that if the original document produced unreasable PostScript, the PDF will be unreadable too. We cannot reconstruct ionformation once its gone.15:16.26 
Robin_Watts tor8: Removing the embedded context in fz_stream caused lots of SEGVs.15:20.59 
tor8 Robin_Watts: huh... now that I look more closely at the regression mail I got back... why is it testing ghostpdl when I run it from a mupdf repository?15:22.35 
Robin_Watts tor8:eh? No idea.15:22.54 
tor8 Robin_Watts: it's not compiling properly in some commits... might be rebase having messed up15:24.33 
Robin_Watts purge more embedded contexts fails to build at all.15:24.39 
  yeah.15:24.41 
tor8 should we squish and recommit?15:24.44 
Robin_Watts Force push back to the last commit that worked?15:24.56 
  Then fix the broken ones and push ?15:25.11 
tor8 Robin_Watts: yeah, force push back, I'll squash the broken ones and see what doesn't work15:25.29 
  most of these could be squashed without much loss in history15:25.44 
henrys is the cluster broken? everything's been idle for a while and there's quite a queue.15:26.22 
Robin_Watts henrys: yes, something is up.15:28.35 
  it will restart in a mo.15:28.40 
  or I'll kick it.15:28.46 
mvrhel tor8: so are your changes all done? I will do the fixes in win8 if yes15:29.05 
Robin_Watts mvrhel: almost...15:29.15 
mvrhel then maybe we can do the split off/15:29.16 
  ok15:29.23 
henrys ugh meeting time already.15:30.02 
fredross-perry morning all15:30.25 
kens Morning15:30.30 
henrys fredross-perry: howdy.15:30.37 
marcosw morning all15:30.49 
kens Morning Doktor Marcos15:30.58 
henrys marcosw: I'm diggin' those new customer numbers ;-)15:31.05 
marcosw henrys: great15:31.28 
henrys mvrhel: let's start with gsview and when we can get a beta up? It seems ripe to get out in the open and get some feedback. It is a beta.15:32.29 
chrisl rayjj: I can't get access to cust 532's ftp site - has the IP address changed in the last 6-8 months or so?15:32.38 
rayjj chrisl: no, no change15:32.50 
chrisl Hmmm.....15:33.02 
rayjj chrisl: let me try it to make sure *I* can still get in15:33.26 
marcosw rayjj: is that on peeves or one of the machines I have control over?15:33.28 
kens Customer 532's own ftp site marcos15:33.42 
marcosw kens: okay, so unlikely to be something I did then :-)15:34.03 
henrys chrisl: do you have a goal date for the release. I'm debating changing something in PCL, more likely to add it now if you were thinking end or march as opposed to mid march.15:34.07 
rayjj chrisl: OK, so I can still get in. Let me find the password for it.15:34.08 
chrisl henrys: it will be late March, because of the staff meeting, and the mini-break after the meeting15:34.43 
rayjj henrys: hopefully not changing to the OTF fonts 15:34.45 
mvrhel henrys: yes. let me make another installer to disable a couple things related to printing then I am fine releasing to beta15:34.49 
henrys chrisl: okay thanks.15:35.11 
rayjj dreads another week+ of massive regression reports15:35.19 
Robin_Watts marcosw: The cluster is unhappy.15:35.45 
henrys chrisl: I was looking more carefully at the fonts - we've doubled the number of glyphs which surprised me.15:35.53 
Robin_Watts Probably better for you to perform CPR than me :)15:35.59 
chrisl henrys: I was expecting more, actually, only doubled is quite good....15:36.25 
marcosw Robin_Watts: I took it down for a bit, I was seeing lots of error compiling mupdf. but I've almost convinced myself it's just an error in the source.15:36.56 
henrys rayjj: yeah I'm going to use these fonts. Folks have asked for greek and cyrrilic.15:37.00 
Robin_Watts marcosw: It was an error in the source.15:37.08 
  I've just forced pushed us back to sanity.15:37.15 
marcosw the odd thing is that the cluster nodes running ubuntu 10.04 don't find the error.15:37.30 
Robin_Watts tor is fixing the commits and will push fixed versions in a mo.15:37.32 
henrys chrisl: interestingly the adobe set in acrobat is more like our old set size wise.15:38.09 
marcosw Robin_Watts: I've restarted the cluster master. is there anything you need me to do?15:38.59 
chrisl henrys: but Acrobat usually uses the Windows TTFs, hence they get greater coverage15:39.05 
  On windows, of course.....15:39.20 
henrys I added 3 new items to the workflowy under GS, Build, configuration and platform specific. Have a look before the meeting. we can discuss them now if anybody wants.15:39.45 
rayjj Robin_Watts: tor: You guys don't test compiles before pushing commits to golden ?15:40.09 
Robin_Watts rayjj: We do.15:40.24 
rayjj chrisl: email sent with cust 532 FTP site info. (cc'ed support)15:40.32 
henrys chrisl: it uses TTF when you ask for the core pdf fonts? I didn't know that.15:40.33 
Robin_Watts but something went wrong with the tests here.15:40.34 
chrisl rayjj: thanks....15:40.45 
tor8 Robin_Watts: okay, now it looks like it's running the latest commit on my clusterpush15:41.11 
rayjj Robin_Watts: running ubuntu 10 ??? ;-) (but I shouldn't talk, I've avoided updating peeves)15:41.20 
chrisl henrys: yeh, it seems to, if they are available.15:41.21 
tor8 if I call "clusterpush mupdf" it runs ghostpdl, but if I just run "clusterpush" it seems to do the right thing15:41.32 
marcosw how in the heck does gcc 4.4.3 not find these two statements to be a conflict?:15:42.01 
  pdf_signer *pdf_keep_signer(pdf_signer *signer)15:42.02 
  pdf_signer *pdf_keep_signer(fz_context *ctx, pdf_signer *signer);15:42.02 
tor8 rayjj: I thought I did... but apparently I tested the wrong thing15:42.08 
chrisl rayjj: I'm in! Thank you.15:42.26 
paulgardiner kens: I replied to that stackoverflow question... hopefully based on a correct memory of how that stuff works.15:42.41 
kens thanks Paul15:42.51 
rayjj tor8: oh, yeah. the old test this, push that -- I think I've done that a few times :-)15:42.53 
henrys chrisl: so in theory you could access all the CJK glyphs say in Courier Windows TTF from a pdf using core fonts?15:42.55 
rayjj chrisl: Great! So at least now everyone that might need it also has the login info (everyone that gets support email)15:43.39 
chrisl henrys: possibly - it would depend on being able to get an encoding that would work. Generally, you load them as a CIDFont for that15:43.47 
tor8 Robin_Watts: could you back origin/master up all the way to 4fe9caa?15:44.31 
marcosw Robin_Watts: restarting the cluster didn't work; I'm looking at it.15:45.01 
henrys rayjj: was I supposed to get an email - I don't see it?15:45.10 
Robin_Watts marcosw: Give me a mo...15:45.11 
marcosw Robin_Watts: np15:45.16 
rayjj henrys: oops. Sending it now to support15:45.46 
henrys beyond the new agenda items I'm good anybody else have stuff for the meeting?15:46.04 
mvrhel henrys: so I still have some work this week with stefan. Hopefully I can get that resolved quickly15:46.51 
Robin_Watts marcosw: OK, go for it.15:46.55 
tor8 henrys: we need to find an apple user to update the mupdf ios viewer15:46.56 
Robin_Watts tor8: done.15:46.59 
  fred, paul or joseph would seem to be the obvious candidates. (Or henrys?)15:47.21 
henrys tor8: fredross-perry is your guy.15:47.23 
tor8 Robin_Watts: and don't forget to zap the cluster15:47.24 
Robin_Watts tor8: have done. Just waiting for marcos to shock it.15:47.36 
fredross-perry i’ll do it. What’s to be updated? just building with the latest muPDF code?15:48.08 
rayjj chrisl: my stoopid email tool (Thunderbird) is picking up random email addresses in preference to ones in my address book :-(15:48.15 
tor8 fredross-perry: yeah, the stuff I'm about to drop on master later today15:48.39 
fredross-perry ok drop me a line when it’s done.15:48.54 
chrisl rayjj: your mail reached me okay..... did you see my private chat question?15:48.54 
henrys rayjj: wow accessible with naked ftp? They need some better sysadmin going on over there.15:49.32 
rayjj henrys: yeah, no kidding.15:49.51 
  chrisl: I don't see a private chat window from you15:50.10 
chrisl rayjj: I've definitely got one open - I do it by e-mail if that's easier.....15:51.00 
  henrys: the Japanese contingent have a "proper" doc/file sharing setup, but it's a *huge* PITA to use15:51.41 
henrys marcosw: do you have the new macpro?15:53.02 
  marcosw: well not new... but the latest one.15:53.54 
Robin_Watts The turbo trashcan?15:54.26 
marcosw henrys: no, my macpro is older than yours.15:54.43 
rayjj chrisl: did you see my reply on the private chat (polaris) ?15:55.30 
henrys a buddy of mine has it. I'm amazed how small it actually is in real life. He's a designer and he just takes it on the plane for customer visits.15:56.12 
Robin_Watts henrys: Does he check the monitors? :)15:56.34 
chrisl rayjj: yes, thanks - that's exactly what I need15:57.04 
marcosw henrys: I've played with it in the apple store. even running at full load it's very quiet (of course my 2008 macpro is quiet at full load too, so I don't know why I'm surprised).15:57.24 
henrys Robin_Watts: nope the clients have everything he needs he just brings the trash can ;-)15:57.48 
marcosw Robin_Watts: is everything okay with mupdf on the cluster? I expected a whole bunch of jobs to show up in the queue but that didn't happen.15:58.21 
Robin_Watts marcosw: I removed all the jobs, and backtracked the git history.15:58.36 
rayjj chrisl: BTW, I discovered why I didn't see the private chat -- I didn't have alerts on for that *and* I had "tab strip" unchecked in the View menu15:58.44 
Robin_Watts the jobs will show up when tor pushes fixed versions :)15:58.47 
tor8 marcosw: I'm going to hammer it as soon as my current clusterpush says ok15:58.49 
henrys moving over to skype for the next meeting.15:59.28 
chrisl rayjj: well, it's not something we use very often - I just figured as we'd be talking file names and project names, it was safer to keep it quiet15:59.35 
marcosw I understand. I'll remove the logs of the jobs that have been erased from the git history (shades of 1984, being able to edit history like that).15:59.40 
rayjj chrisl: agreed15:59.59 
Robin_Watts marcosw: That's the appeal of git. Anything where I can edit my pratfalls out gets my vote.16:02.34 
tor8 argh, why is mujstest taking so looooooong16:03.47 
  Robin_Watts: okay, clusterpush looks good. could you sanity check the squashed set of commits on tor/master?16:08.50 
Robin_Watts ok.16:09.02 
rayjj chrisl: BTW, thanks for jumping on cust 532's issue so promptly16:15.48 
chrisl rayjj: NP, I was pleased it turned out to be an easy one!16:19.28 
Robin_Watts tor8: Subject to snowblindness, it looks fine :)16:19.29 
tor8 Robin_Watts: alright, here goes, take two :)16:20.19 
rayjj ahh... I think I found the fix for the (long standing) crash if pattern-clist is used and we are filling a mask with a complex clip path (as from a character)16:50.37 
FreezingCold What's a CFF font file?16:50.52 
chrisl FreezingCold: Compact Font Format16:51.14 
  FreezingCold: http://en.wikipedia.org/wiki/PostScript_fonts#Compact_Font_Format16:52.33 
FreezingCold Can I convert it to anything usable?16:52.37 
kens Defien 'usable'16:52.51 
  Its a perectly sound font format in its own right16:53.09 
FreezingCold well, the text I have is stored in glyphs from what I understand16:53.32 
  wondering if I can get creative with OCR to automatic generate it's own training data from that font16:53.48 
kens Hmm. Not how I would put it.16:53.48 
chrisl FreezingCold: so what font format would you like it in, rather than CFF?16:54.44 
FreezingCold chrisl: uh, ttf?16:55.10 
kens You can convert it to OTF with CFF outlines or to a type 1. Converting to a TTF would require rewriting the outlines16:55.13 
  WHich means loading it into fontforge and exporting as a ttf16:55.30 
FreezingCold The fonts are called like KWIGZR+Arial_Italic015016:55.34 
  what's the 0150?16:55.38 
kens Yes, that indictaes its a font subset16:55.43 
  No idea what the 0150 is16:55.50 
  Possibly an artefact of the o(extremely old) version of GS16:56.06 
FreezingCold it is16:56.14 
kens KWIGZR+ indictaes its a font subset16:56.18 
FreezingCold What does each letter stand for?16:56.32 
kens Nothing16:56.36 
  I would be surprised if an OCR package needs training to use Arial Italic16:57.21 
  Nut if it does, I would use Arial Italic16:57.34 
  But*16:57.39 
FreezingCold It doesn't exactly, but the output is messy16:57.45 
tor8 Robin_Watts: hm, the cluster doesn't have openssl installed?16:58.15 
Robin_Watts tor8: Urm?16:58.31 
kens The fact that its a subset font probably explains why the text can't be copied/pasted16:58.34 
FreezingCold kens: hold on, installing fontforge16:58.46 
tor8 the ifdef HAVE_OPENSSL else branch is what is tested on the cluster16:59.10 
  (causing the compile fail, I guess I missed one squash)16:59.33 
  I manually tested all the revisions locally16:59.43 
  I manually tested *building* all the revisions locally16:59.59 
FreezingCold sweet, I got all the letters out of the font17:00.06 
  https://i.imgur.com/wiLe5nG.png17:00.11 
Robin_Watts tor8: I don't see why this would be a problem now when it wasn't before.17:01.09 
tor8 cluster fails to compile, because it isn't compiling the same code as I am17:01.35 
  due to ifdef variations :(17:01.48 
  the commit two down the pipe will fix the ifdef compile17:02.04 
Robin_Watts Do you want to rebase that back and squash it?17:02.31 
  I'll reset the cluster to 681039767f17:02.48 
tor8 I'm not too bothered, but it does mean we never test the openssl code on the cluster17:02.49 
  but if you think we should reset and squash, I'm game17:03.05 
FreezingCold kens: the cff seems to follow a sane pattern. I don't get why this info can't be used to extract text17:03.13 
tor8 having done it once already, can't hurt to do it again17:03.15 
Robin_Watts Yeah, let's go for a clean fix.17:03.17 
kens FreezingCold : because it'll be different on the next font you try17:03.34 
  Or the next file.17:03.39 
FreezingCold Right, so why can't the font be extracted per file?17:03.50 
kens I dohn't understand your question17:04.21 
FreezingCold Each text area has a cff font right?17:04.40 
marcosw tor8: so the openssl issue would explain why only some cluster nodes are reporting a compiler error?17:05.05 
kens Nothing to do with 'rea' Where text is drawn the text is in a font, it may or may not be a CFF font17:05.08 
tor8 marcosw: yeah.17:05.21 
Robin_Watts marcosw: Ah! Maybe the cluster is testing both branches, just on different nodes :)17:05.41 
marcosw that does raise the question of if all of the cluster nodes should be identical or not.17:06.31 
tor8 Robin_Watts: okay, I have a squished commit ready on tor/master, whenever the cluster is ready17:07.30 
Robin_Watts it should be ready now.17:15.44 
  marcosw: Yes, ideally they should all be identical (in terms of the appropriate software installed)17:16.08 
  tor8: on windows:17:32.27 
  2>c:\artifex\mupdf.git\thirdparty\mujs\jscompile.c(112) : warning C4090: 'function' : different 'const' qualifiers17:32.38 
  2>c:\artifex\mupdf.git\thirdparty\mujs\jscompile.c(140) : warning C4090: 'function' : different 'const' qualifiers17:32.40 
  2>c:\artifex\mupdf.git\thirdparty\mujs\jsgc.c(19) : warning C4090: 'function' : different 'const' qualifiers17:32.48 
  2>c:\artifex\mupdf.git\thirdparty\mujs\jsgc.c(20) : warning C4090: 'function' : different 'const' qualifiers17:32.50 
FreezingCold Does converting from pdf to ps lose any information?17:42.44 
Robin_Watts FreezingCold: Yes.17:42.59 
FreezingCold oh :( 17:43.16 
Robin_Watts But whether it loses any information that you care about is a different question.17:43.21 
  Essentially the problem here is that you have a document that might contain the string "Hello World"17:43.45 
  Your PDF creator has been clever, and rather than embed all the font, it's embedded just the letters "Helo Wrd"17:44.18 
  It probably put H in as char 1, e in as char 2, l in as char 3 etc.17:44.42 
  so the string in the PDF file is 1,2,3,3,4,5,6, etc rather than the ascii codes you're expecting.17:45.24 
  consequently when you copy and paste from it, you get garbage.17:45.35 
  All you can do is to 'print out' the file to a bitmap, then use OCR to use its magical knowledge about what each letter looks like.17:46.06 
FreezingCold it actually has the "correct" spacing. e.g. e is 55 and g is 57 (which 56 is empty)17:49.36 
  hmm, I need to find an old version of gs to install that handles font subsets horribly to test out :p17:50.27 
chrisl FreezingCold: the problem is, the results are highly dependent on the input - for example, the problem may not have been Ghostscript's PDF output, but may have existed in the original Postscript, if the original was Postscript17:53.39 
FreezingCold chrisl: isn't it ghostscript that decides things like font subset embedding?17:54.12 
chrisl FreezingCold: maybe. If the complete font is used in the input, Ghostscript will by default, subset the font in the PDF output. But the original producer of the Postscript or PDF input may have subsetted the font before Ghostscript ever saw it17:55.56 
FreezingCold My case is definitely the former17:56.23 
chrisl How do you know?17:56.40 
FreezingCold If it's the latter, wouldn't manual identification of each letter work?17:56.51 
marcosw Robin_Watts: that brings up the question of what the "appropriate software" is.17:57.00 
FreezingCold chrisl: https://i.imgur.com/wiLe5nG.png17:57.12 
chrisl FreezingCold: No, once the glyph mapping is lost, Ghostscript cannot reinstate it17:57.19 
Robin_Watts marcosw: It does. openssl, I think.17:57.23 
FreezingCold chrisl: I know gs can't do it itself, I'm trying to do it myself.17:57.32 
  I'm aware what I want doesn't exist.17:57.39 
chrisl FreezingCold: right, what I'm saying is that trying an earlier version of Ghostscript may not help you, unless you also have the original file from which your PDF was created17:58.21 
marcosw yeah, I know that (now). but presumably there are other #ifdefs in the code that are effected by what libraries are installed.17:58.33 
FreezingCold chrisl: I'm just trying to create a smaller file to experiment with :) 17:58.58 
  If those spaces/gaps aren't there, manual identification would still be somewhat quick17:59.20 
  you're going to have like a-z, A-Z and 0-9 most likely, easily under 50 char17:59.45 
chrisl FreezingCold: nevertheless, if the problem was not caused by Ghostscript, then using Ghostscript to create a smaller test case isn't necessarily going to help18:02.50 
marcosw Robin_Watts: based on Makerules, libcurl is also used by mupdf, though none of the cluster nodes appear to have it installed. 18:13.17 
Robin_Watts marcosw: Only if we build mupdf-curl18:14.04 
  and we don't for cluster stuff, AIUI.18:14.23 
eto hello18:16.51 
ghostbot Welcome to #ghostscript, the channel for Ghostscript and MuPDF. If you have a question, please ask it, don't ask to ask it. Do be prepared to wait for a reply as devs will check the logs and reply when they come on line.18:16.51 
eto can mupdf be compiled without x?18:16.58 
  i would like to use it for image generation ons erver18:17.24 
Robin_Watts Then it's not mupdf you want. It's mudraw.18:17.35 
marcosw Robin_Watts: okay, i won't worry about libcurl. I've added libssl-dev to the install instructions for setting up a cluster node and will install it on the existing nodes.18:17.39 
eto Robin_Watts: yes mudraw is the tool but on all oses i use it's built from single package18:17.56 
Robin_Watts make build=release HAVE_X11=no18:18.15 
malc_ Robin_Watts: js_none needs updating w.r.t. lastest round of prototype changes18:24.08 
eto Robin_Watts: so i can just this into my modified package build and shit not depend on x in any way?18:24.18 
Robin_Watts malc_: Thanks. Everything is in flux at the moment :)18:24.27 
eto sorry i meant it not shit18:24.37 
Robin_Watts eto: indeed.18:24.48 
eto okay i will try it18:24.57 
  Robin_Watts: what about fontconfig?18:25.32 
Robin_Watts what about fontconfig? :)18:25.47 
eto Robin_Watts: hmm seems like fc doesn't need x after all18:26.07 
Robin_Watts Does mupdf need fontconfig? :)18:26.18 
eto Robin_Watts: is there some detailed compilation page?18:26.25 
  Robin_Watts: according to freebsd makefile - yes it needs it18:26.39 
  Robin_Watts: or more rpecisely mupdf package needs it18:26.53 
tor8 Robin_Watts: a bug in msvc18:27.22 
  it thinks const char ** means the array is const as well as the pointers18:27.37 
eto Robin_Watts: okay i will describe it like this currently we fork from php into imagemagick to do pdf conversion18:27.52 
  Robin_Watts: but imagemagick want to pull in cups and various other things18:28.09 
  Robin_Watts: i thought about recompiling it without ghostscript (which wants to pull-in cups) and use mudraw for page draw - do you think that is right path?18:29.04 
Robin_Watts eto: MuPDF will give you faster, nicer results for rendering PDF to bitmaps for screen use than gs will.18:29.32 
eto Robin_Watts: i thought so18:29.46 
Robin_Watts So, yes, that sounds sensible to me.18:29.48 
  You can tweak gs to not pull in cups etc, but it's hairier work.18:30.07 
eto Robin_Watts: so it would be worth time to try to get it work the way i want18:30.15 
chrisl_away FYI, ImageMagick without Ghostscript won't handle PDF files - it uses Ghostscript for PDFs18:31.33 
eto chrisl_away: i know18:33.37 
  chrisl_away: but i can use mudraw for that18:33.49 
chrisl_away eto: why not just use Ghostscript or mudraw directly, and forget about ImageMagick?18:34.38 
Robin_Watts chrisl_away: I thought that was the idea.18:35.13 
  He wants to call mudraw rather than call imagemagick.18:35.21 
eto chrisl_away: we use imagemagick for user uploaded photo manip as well18:35.29 
  i would like to get to both without any trace of x support18:35.57 
chrisl_away Robin_Watts: Well, he mention building ImageMagick without Ghostscript18:36.04 
Robin_Watts ok.18:36.35 
eto besides graphicsmagick there is no other cli image editor is there?18:36.35 
  only graphics magick and imagemagick18:36.48 
Robin_Watts eto: Well, you can build gs with no X and no cups support.18:36.52 
  and then imagemagick with that would work. Might be less work in the short term.18:37.14 
chrisl_away imagemagick can be built without X support, too.....18:37.45 
Robin_Watts tor8: leaky jack mcleaky.18:37.48 
eto Robin_Watts: yes but our transformation baths are mostly GM jgpg,jpe,tiff -> png,jpg and occasional pdf -> png for thumbnails18:37.55 
  Robin_Watts: removing gs from graphics magic should get rid of cups and pdf support - while mudraw draws nicer pdfs and seems to be faster overall18:38.45 
  Robin_Watts: correct logic?18:39.00 
  also scope is longterm18:40.16 
Robin_Watts eto: updating imagemagick to use mupdf instead of gs will remove the dependency on cups, and should give nicer results, yes.18:40.29 
  but it will stop you ever being able to use postscript input (dunno if that matters to you)18:40.46 
eto Robin_Watts: is such thing even possible? i am not very familair with imagemagick internals18:40.57 
Robin_Watts eto: imagemagick spots it's a PDF and shells out to gs.18:41.17 
  It should be possible to shell out to mudraw.18:41.26 
eto Robin_Watts: no we have no postscript input - we went imagemagick way because gd is very flaky in php with huge images our users thend to push up18:41.33 
Robin_Watts Though, frankly, you may be as well calling mudraw directly.18:41.46 
eto Robin_Watts: it would simpler just callm mudraw directly18:41.59 
Robin_Watts eto: Given a PDF input file, how do you want it rendered? Do you have a specific size in mind ?18:42.28 
  mudraw -o out%d.png -w800 -h800 in.pdf18:43.13 
fredross-perry iOS: I’ve separated the muPDF functionality into its own library (which will be easily made into a framework). 18:43.22 
  18:43.23 
  I’ve pushed everything out of the app delegate into MuLibraryController. The user of the framework will instatiate a MuLibraryController and interact with that. 18:43.24 
  I’m thinking that devs will want to use their own UI, so next I am adding some API to allow them to omit the use of both the library’s list of docs, and the navigation bar at the top. After that, some API to allow them to do programmatically what the navigation bar buttons would do. 18:43.25 
  18:43.26 
  Thoughts? Feelings?18:43.27 
jogux fredross-perry: is MuLibrariesController a UIViewController subclass?18:44.01 
fredross-perry yes18:44.08 
jogux it's petty, but I'd be tempted to name it MuLibraryViewController then18:44.20 
  (platform idiom etc)18:44.33 
fredross-perry that’s fine.18:44.35 
jogux I'd probably keep the list of docs out of it18:45.05 
Robin_Watts That will write each page of in.pdf into out1.png, out2.png etc. Each page will have it's largest dimension scaled to be 800 pixels, and the smaller dimension will be appropriately sized so as to keep the aspect ratio correct.18:45.13 
jogux I can't imagine any would want to use our list, but it could go in a separate DocumentListsViewController or something. I'd see that as more part of the sample app.18:46.37 
  the rest sounds good. an alternative would that as you add the APIs to allow the navigation buttons to be re-implemented outside of MuLibraryController, we actually use that to implement our toolbar rather than having it in MuLibraryController18:47.50 
eto Robin_Watts: one more thing - given i get time - can one compile static mudraw?18:48.29 
  Robin_Watts: so everything it needs ends up in single blob?18:48.44 
Robin_Watts eto: That's what the makefiles do by default.18:48.45 
  (if you have the libs it needs in the thirdparty dir, then it builds entirely statically)18:49.21 
eto Robin_Watts: ah so all the cli tools besides viewer should be completely xless?18:49.23 
Robin_Watts exactly.18:49.30 
eto amazing18:49.36 
Robin_Watts (it needs jpeglib and openjpeg and freetype and zlib etc)18:49.54 
fredross-perry jogux: Perhaps. When I get there I’ll run some details past you. 18:49.58 
eto Robin_Watts: my c skills are pretty bad i dream of being able to draw pdf pages into framebuffer (opengl) one day18:50.26 
  Robin_Watts: is mupdf library thing i want to look into?18:50.45 
Robin_Watts eto: You'd do that by drawing to a bitmap, then uploading that bitmap as a texture to opengl, then plotting that.18:51.05 
  You'd probably find it easier to draw to the framebuffer without using opengl.18:51.24 
eto Robin_Watts: but that bitmap can be in memory right? i don't need tempfiles or anything18:51.28 
Robin_Watts eto: Right. you'd need to call the mupdf C API for that. Easy enough.18:51.56 
eto Robin_Watts: currently i am trying to write opengl grid draw i would like to use for image viewer18:52.17 
Robin_Watts There is an example of how to do it in less than 100 lines of C.18:52.24 
eto Robin_Watts: i haven't got very far because i don't have enough time18:52.30 
  Robin_Watts: but i intend to work on this - currently i use gliv and i am pretty sad with it's current state18:52.55 
  Robin_Watts: i tried several alt viewers but none fit my needs18:53.13 
  Robin_Watts: thinking about this a lot made me look into mupdf as well18:53.42 
  Robin_Watts: this is slighly aligned to my employers needs18:54.02 
malc_ eto: which ones have you looked at?19:07.54 
eto malc_: sxiv feh gpiview and several others19:08.48 
  gpicview19:08.53 
  gpicview is closer while gliv is closest19:09.23 
malc_ eto: and sxiv for instance is not suitable because...19:10.36 
mvrhel_laptop crap the named color stuff when the source is an image is not set up to work properly19:10.51 
eto malc_: bindings are for vimmists, although i changed them still not good enough, and all have problems with scrolling modern huge images19:11.32 
  malc_: you sxiv author!?19:11.42 
malc_ eto: nope19:12.15 
eto malc_: in windows irfan was my favorite although i configured that one heavyly as well19:12.57 
Robin_Watts tor8: commit f84a189d5f94 makes mudraw leak like a very leaky thing indeed.19:19.22 
  And something along the way has broken mudraw -t horribly.19:19.58 
  And the fz_meta calls in the windows code need to be updated to have ctx.19:22.01 
  Oh, god, this isn't a circular reference thing is it?19:25.18 
tor8 let me take a look at the leaks19:26.05 
Robin_Watts pdf_annot -> pdf_xobject -> pdf_page -> pdf_annot19:26.36 
  Yeah, that's a problem :(19:26.43 
tor8 the pdf_page leaks (initialised with the wrong refcount)19:27.43 
Robin_Watts tor8: where?19:29.29 
tor8 it's allocated with fz_malloc_struct rather than fz_new_page (which initialises the refcount)19:29.51 
  and the fz_drop_page forgets to free the fz_page struct (it just calls the destructor)19:30.03 
  I've got fixes for those and mupdf-x11 stops leaking on pdfref1719:30.15 
Robin_Watts No annotations on pdfref17.19:31.01 
  Try annots.pdf19:31.05 
tor8 will do19:31.09 
  pdf_get_string_or_stream leaks in calc.pdf19:31.52 
Robin_Watts I fear circular references are going to be a pain.19:31.59 
  docs hold pages and pages hold docs, right?19:32.23 
tor8 ugh. yeah.19:33.13 
  we could remove the hard reference from page to doc and leave it up to the client to not free the doc while the pages live19:33.36 
  or actually, no, docs don't hold pages19:33.50 
  so that shouldn't be a problem19:33.57 
Robin_Watts OK.19:34.05 
  annots holding pages that hold annots is a problem though19:34.17 
tor8 where do annots hold pages?19:34.44 
  oh, pdf_annot_s holds a pdf_page19:35.08 
  I didn't clean up the pdf_annot/pdf_page API yet19:36.02 
  it still has the same duality thing going on as the document/page functions did19:36.15 
fredross-perry re: gsview beta, should we also beta the OSX and Linux versions, and how do we do that?19:36.20 
tor8 but apparently they don't need to, since pdf_annot already holds the pdf_page19:36.33 
  maybe we can zap the annot->page field19:36.39 
  annots don't keep the reference as the code currently exists19:37.05 
  in some places19:37.14 
Robin_Watts Do you want to rebase your fix back and squash it in?19:37.32 
  Hunting for bugs later on when we have a section of history that does nasty things is not going to be nice.19:38.03 
tor8 a memory leak I wouldn't worry about backpatching19:38.23 
  fix on tor/master for the pdf_page leak19:40.11 
Robin_Watts tor8: I found it while looking to see why mudraw -t has broken.19:40.42 
tor8 Robin_Watts: what is broken with mudraw -t19:40.52 
Robin_Watts SEGV19:40.57 
tor8 annots.pdf doesn't leak with my fix19:41.37 
  according to valgrind19:41.41 
  (you're talking about ghostpdl/gs/examples/annots.pdf right?)19:41.56 
Robin_Watts tor8: Your fix looks good.19:42.11 
tor8 which file SEGVs/19:42.20 
Robin_Watts Personally, I'd rebase it back, cos a neat history is a thing of beauty, but...19:42.38 
tor8 if we find anything worse later (like the mudraw segv) we can squash19:43.02 
Robin_Watts mudraw -t pdf_reference17.pdf 119:43.40 
tor8 Robin_Watts: can't reproduce...19:44.34 
Robin_Watts tor8: On robin/master there is a fix for the windows build.19:44.50 
  trying a rebuild now.19:45.09 
tor8 'make nuke' to clear out the generated files as well, in case there's something there19:45.27 
eto hmm as soon as i select freetype in freebsd port build uptions - it wants to pull in ghostscript19:45.39 
Robin_Watts yeah, rebuild on the MSVC solution does all that.19:45.43 
tor8 LGTM19:45.46 
eto but freetype support should not depend on ghostscript right?19:46.25 
Robin_Watts I bet freetype has an example app that uses gs for something.19:47.13 
  tor8: OK, rebuild seems to have solved it. thanks.19:47.46 
eto Robin_Watts: hmm the problem is installed binary freetype and freetype2 packages which has no such dep19:48.55 
  Robin_Watts: port doesn't seem to be picking up i am going to consult with freebsd guys19:49.16 
  ty very much for help19:49.21 
Robin_Watts eto: What are you trying to build?19:49.33 
  mupdf?19:49.41 
  If you're building mupdf, and you want it statically linked, then you REALLY don't want to be pulling in freetype as as a package.19:50.10 
eto Robin_Watts: right now imagemgick without postscript19:50.15 
Robin_Watts oh, right, have at it. Nowt to do with us :)19:50.30 
eto Robin_Watts: wait arent you imagemagick guys as well?19:50.54 
  roger so you are mupdf and gs solely19:51.10 
Robin_Watts just mupdf and gs.19:51.45 
eto Robin_Watts: now i understand im->uses->gs you here are gs and mupdf somehow i forgot you deal only with mu and gs sorry guys19:52.31 
mvrhel_laptop henrys: I am going to be a bit busy with this stuff for stefan this week19:55.56 
eto ty guys19:56.15 
Robin_Watts you're welcome.19:56.39 
mvrhel_laptop bbiaw19:56.45 
Robin_Watts tor8: Page 1 of annots.pdf is not rendering correctly for me. Annotations aren't appearing.20:08.04 
  I've got to go now though :(20:08.13 
  will try and check in again later.20:08.26 
tor8 I see no difference pre and post my work20:08.57 
Robin_Watts tor8: Do you see any strokes on page 1?20:55.24 
  oh! it might be screen vs print20:55.45 
  Sorry.20:55.51 
FreezingAlt Robin_Watts: This is odd, Google is able to read those "unreadable" PDFs21:02.39 
  and it doesn't seem to be OCR either.21:02.45 
  How is Google reading these subsetted fonts without OCR?21:19.34 
tor8 Robin_Watts: so... we're good?21:38.14 
fredross-perry is there any doc on the recent mupdf API changes? I’m rebuilding iOS and getting some errors.22:15.23 
  OK, looks like it’s largely passing fz_context * to functions.22:27.20 
tor8 fredross-perry: yeah, it's pretty much all just passing fz_context to functions22:56.38 
  should be pretty simple22:56.43 
fredross-perry I see now. Also a few fz_free_xxx have become fz_drop_xxx22:57.08 
tor8 yeah. the commit messages if you look at the git log should list most of the changes.22:57.32 
  a few renames (free and close become drop, so we always use drop for releasing resources), and adding ctx arguments to almost all functions22:58.18 
  only the basic math and string functions don't always take a ctx22:58.43 
fredross-perry I’ve got it modified and working, thanks. I’ll do the same to gsview now23:20.08 
 Forward 1 day (to 2015/02/18)>>> 
ghostscript.com
Search: