IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2016/01/19)20160120 
Robin_Watts tor8: ping11:45.32 
pasqualm Hi, I'm trying to download the latest binaries from http://ghostscript.com/download/gsdnld.html and seems that http://downloads.ghostscript.com/public/ is down, it has been down at least for the last two days12:17.38 
  Anybody can take a look to it?12:17.48 
tor8 Robin_Watts: pong.12:20.30 
Robin_Watts tor8: Hi.12:20.45 
  pasqualm: I can reach http://downloads.ghostscript.com/public/12:21.01 
  tor8: commits on robin/master to address your concerns. Let me know what you think.12:21.18 
  pasqualm: what does downloads.ghostscript.com resolve to for you?12:21.52 
  I get 188.121.46.12812:21.59 
tor8 Robin_Watts: can the character types be moved from bidi.h into bidi-imp.h?12:22.47 
Robin_Watts tor8: Looking.12:23.03 
tor8 there's a stray comment at the end of bidi.h: /** @} */12:23.18 
Robin_Watts tor8: Yes.12:24.03 
tor8 the BIDI_ enums, should they be prefixed FZ_BIDI_?12:24.09 
Robin_Watts (They can be moved. I'll do that)12:24.14 
tor8 fz_bidi_flags could be moved too, I believe12:24.36 
Robin_Watts Dunno. I can do that if you want.12:24.40 
tor8 BIDI_BIDI_H?12:24.51 
  FITZ_BIDI_H12:25.05 
Robin_Watts fz_bidi_fragment_text takes flags as an input.12:25.08 
  hence the flags values are part of the public interface.12:25.22 
tor8 ah, the flag argument is an int12:25.26 
  the @param comment says the flag is just passed on to the callback function12:25.48 
Robin_Watts because it's an OR of the flags, so not strictly an enum value.12:26.05 
tor8 which runs counter to how it's actually used, so the comment ought to be revised12:26.30 
  mixed tabs and spaces in the @param section12:26.49 
Robin_Watts tor8: That comment is wrong.12:27.17 
  tor8: In which @param section?12:27.55 
tor8 Robin_Watts: all of them12:28.17 
  and I believe you're using a tab width of 4? it seems so by the vertical alignment of the comments after BDI_S and BDI_WS12:29.12 
  odd use of /**< */ annotations :)12:29.38 
  the code that uses ucdn and remaps the bidi classes, etc looks fine12:30.22 
pasqualm Robin_Watts: Thanks, I have checked http://downloads.ghostscript.com/ from a mobile connection and it's working, it must be a problem with the network of my company. dns resolves correctly, I will check it with communications. Thanks :)12:30.51 
Robin_Watts pasqualm: No worries.12:31.04 
  tor8: I converted spaces to tabs and then tidied up - I missed some. I always use a tab width of 8.12:31.30 
  The /**< */ are doxygen things. There because that's what the picsel code I grabbed this from uses.12:31.56 
  OK, improved commit.12:34.01 
tor8 Robin_Watts: in bidi-impl.h there's a comment "The files bidi.rc, and resource.h are distributed together with this file and are included12:41.17 
  in the above definition of software."12:41.17 
  and there are duplicated copyright lines12:41.58 
Robin_Watts I will remove those lines.12:42.11 
tor8 and the File: Bidi.h comment is rather useless12:42.13 
Robin_Watts Ok, again, fixed commit.12:43.14 
tor8 Robin_Watts: thanks, looking better.12:44.51 
  let me just pass it through git stripspace and then we can push12:45.06 
Robin_Watts tor8: ok, have at it.12:45.13 
  You go blind to such things after staring at code for too long.12:45.30 
tor8 ehem, funny comment "Original copyright notice from uint16_t reference implementation" :)12:47.35 
  I'll fix12:47.39 
Robin_Watts ahem. Picsels code used "Unicode" as a type, and I globally replaced it, then swore a lot and manually changed the comments back.12:48.42 
tor8 Robin_Watts: I wonder if uint16_t is the right type to use though...12:49.16 
Robin_Watts All Picsels stuff uses 16bit values internally for Unicode.12:51.19 
tor8 that's ... firmly stuck in the 90's unicode :)12:51.34 
Robin_Watts I think if we were redoing it now, we'd use utf8, but at the time it was being written, using 16bit was the best we could come up with.12:51.52 
tor8 I think this code should be using uint32_t (or just plain old ints)12:52.08 
Robin_Watts I don't think there is anything that would stop us using larger values now.12:52.19 
tor8 the basic algorithms should still work, and ucdn supports >16 bit code points12:52.24 
Robin_Watts How big is the biggest unicode now?12:53.07 
tor8 21 bits12:53.42 
Robin_Watts We need 8 bits for levels. We need 5 bits for classes.12:53.43 
  OK, so we can't pack all that into a 32bit int :)12:54.19 
  Shame. Would have been nice to avoid any mallocs :)12:54.44 
tor8 Robin_Watts: avoiding the create_levels malloc?12:55.11 
Robin_Watts tor8: Yeah, we currently create class and levels arrays.12:56.08 
  Possibly we could amalgamate those two.12:56.31 
malc_ heh, conincidently comp.arch just finished another round of unicode discussion https://groups.google.com/d/msg/comp.arch/AKD94DVsATw/xRvdtg3NAAAJ12:56.52 
tor8 Robin_Watts: or let the caller supply them12:57.45 
Robin_Watts To avoid mallocing/freeing for EVERY block, we could pass in an fz_buffer for the code to work in.12:59.58 
  That way it'd get created at the start of the pass, would grow quickly to the maximum size required, and then would be freed at the end.13:00.21 
  That can be a future optimisation if profiling shows it's required.13:00.52 
rayjj chrisl: thanks for thinking about the performance issue for cust 532. I just replied, but also cc'ed the file in case you want to get involved.13:12.56 
  (since it involves working with the simulator, you may not ;-) 13:13.22 
chrisl rayjj: the rest of today, and possibly tomorrow are going to be a bit hectic for me, but I'll take a look at it on Friday, unless you've already made good progress by then13:14.41 
rayjj chrisl: OK, np. Since the font cache is working well on the HEAD code, if i confirm (in a bit) the same utilization on their simulator with UFST, I can set that font issues aside13:16.01 
  chrisl: thanks for mentioning the ICC clist writing, I will check that.13:16.35 
chrisl rayjj: Like you, I doubt it is the ICC profiles, but hopefully that's not going to be hard to check13:17.33 
rayjj chrisl: anything else that occurs to you, feel free to let me know. Email is preferred since it is easier to locate threads compared to here.13:17.34 
chrisl rayjj: Looking at the file, though, there's only Helvetica that's not embedded, and that doesn't seem to be used much. Which would (I would think) preclude the UFST as a significant influence, since it's only used for the "resident" fonts13:19.16 
rayjj chrisl: right. Just got the simulator running. Was too sleepy last night after getting it running and helping the kids on h/w (college level statistics required some quick skimming of my daughters book) but I woke up with my brain running so am back at it13:19.25 
  chrisl: OK, thanks for the info. If any FT oprimizations come to mind (since 9.06 which is their code basis) let me know. TIA13:20.27 
chrisl rayjj: I don't *think* they are using Freetype (which I have berated them about), I *think* it's just the UFST or the old Artifex code13:21.21 
rayjj chrisl: hmm.. I'll check that, but I thought that 9.06 pretty much defaulted to FT13:22.38 
chrisl rayjj: it's still controlled by the build, and the cust 532 makefiles explicitly set FT_BRIDGE=013:24.40 
rayjj chrisl: does it even use the FAPI interface, then ?13:25.51 
chrisl rayjj: for UFST, yes13:26.06 
rayjj (I already didn't see FAPI_char being invoked when I expected)13:26.15 
chrisl rayjj: Even more strangely, Acrobat pre-flight reports that Helvetica *is* embedded, but Helvetica-Bold is not......13:27.36 
  rayjj: FAPI_do_char is probably a better function to check - but you'll probably only see a very small number of calls to it13:30.11 
rayjj chrisl: do you know where the non-FT rendering calls will be? I see zchar.c handling TEXT_PROCESS_RENDER but then ???13:32.48 
chrisl rayjj: there wasn't a "central" dispatch point for glyph rendering before. Each font type would have code to generate a path, and then a fill13:33.57 
rayjj chrisl: I'm seeing it in ztype2execchar --sound reasonable ?13:34.29 
chrisl Yes, these are probably Type1C - so T2 char strings13:34.54 
rayjj chrisl: Ok, I see where it is calling gx_add_cached_char. That's probably enough for checking font cache13:39.59 
  chrisl: as you expected, I see FAPI_char being invoked when the font is Helvetica-Bold (the non-embedded case)13:47.33 
  chrisl: for the non-FAPI code, is type2execchar where the bulk of the rendering is done (for timing purposes ?)13:48.43 
chrisl rayjj: I *think* so, but it's such a long time since I looked at the non-FAPI code.13:49.29 
rayjj chrisl: OK, counts look close enough on the simulator, so I think the font_cache is working. 444 calls to gx_add_cached_char and 8827 calls to gx_image_cached_char14:04.09 
chrisl rayjj: those sound like plausible numbers.....14:04.45 
rayjj yep. And the clist tile cache is also similar 5878 "hits" 1493 writes to put the tiles into the cache for the bands. Since there are only 444 tiles that can be cached, the might be an area for improving14:08.50 
  but I'll have them gather times for the rendering of the character if I can be sure of what function does that. And I'll profile that raspberry with FT_BRIDGE=0 vs 114:10.23 
chrisl rayjj: from configure, you can do "--disable-freetype" or edit the Makefile14:11.28 
rayjj chrisl: thanks. I was just going to edit the Makefile :-)14:12.06 
  chrisl: is there anyplace that documents all of the with/without disable/enable ___=no configure options ?14:12.59 
chrisl ./configure --help14:13.12 
rayjj iirc, that's a flood14:13.42 
  off to get coffee and get the kids out of bed...14:14.10 
chrisl Well, then use: ./configure --help | less ;-)14:14.48 
tor8 Robin_Watts: okay, my need for formatting cleanups has been satisfied. results on tor/master. I also changed it to use 32-bit integers for the text arrays.14:14.57 
  Robin_Watts: I have a test epub with some hebrew mixed with russian, that's got some odd issues14:15.22 
  I also suspect that we should swap text-align: left/right depending on the paragraph top level direction14:15.54 
chrisl disappearing for a couple of hours.....14:18.51 
malc_ tor8: curious mix :)14:22.19 
tor8 Robin_Watts: http://www.gutenberg.org/ebooks/18291 on page 3, the quotes don't match what firefox and calibre display. but they make a lot more sense in our implementation, which matches the plain-text display so I suspect PG's html markup is wrong somehow14:22.21 
  <body lang="he" dir="rtl"> the dir="rtl" is the likely culprit14:23.12 
malc_ haha.. and it's translation from norwegian, jeg er uhm.. suprised ;)14:24.10 
tor8 malc_: yeah, it's an odd one14:24.31 
  I admit I haven't looked for more than 10 minutes but I couldn't find much in the way of arabic and hebrew public domain texts :/14:24.59 
  doesn't help that I can't read either of the languages14:25.06 
  in epub format, that is14:25.16 
malc_ tor8: maimonides writings might be available... he wrote in arabic and i bet threw in a lot of hebrew14:26.15 
tor8 Robin_Watts: commits on tor/master14:58.22 
  Robin_Watts: so, on a 13k page document, the bidi stuff has added ~0.5s to the layout time15:13.31 
Robin_Watts tor8: What's that as a percentage?15:25.11 
tor8 3% or so15:27.07 
Robin_Watts tor8: Can't argue with any of those commits. good stuff.15:27.55 
  tor8: I think 3% is an acceptable price.15:28.06 
tor8 Robin_Watts: yeah, I'm happy with that.15:28.51 
Robin_Watts So, if we can get floaty images in before the release, that'll combine to be a nice boost.15:31.40 
  tables too, if we're lucky.15:31.50 
tor8 Robin_Watts: agreed.15:31.52 
  Robin_Watts: do we want to squash any of these commits before pushing?15:32.55 
Robin_Watts tor8: You could squash your fixups into my last fixup if you want.15:33.49 
  but I would be tempted to leave the import/refinement as separate commits.15:34.05 
tor8 yes, import and cleanup make sense to keep separate15:34.20 
  in case we've cocked up somewhere :)15:34.28 
  Robin_Watts: so, squashed commits on tor/master15:35.36 
Robin_Watts go for it.15:36.12 
tor8 Robin_Watts: ta.15:36.26 
Robin_Watts chrisl: Random gs makefile question if I may...16:36.33 
  AIUI, the idea now is that gs/pcl/xps all build on top of the same graphics lib. Is that correct ?16:37.05 
chrisl_x250 Robin_Watts: yes, essentially. We don't create a "library", but we build one set of object files for the graphics lib, and then link them into the various exeuctables16:49.26 
Robin_Watts chrisl_x250: Would it be possible to have a separate makefile target, just for that library?16:49.54 
chrisl_x250 Robin_Watts: "Possible" yes, "easy", no16:50.34 
Robin_Watts Ok. If we had such a target, then we could solve the problems with the msvc solution by using it.16:51.07 
  We'd have a lib project, and the gs/pcl/xps projects would all depend on it.16:51.22 
chrisl_x250 Robin_Watts: I know, I did look at doing it, but it quickly spiralled out of sanity16:51.39 
Robin_Watts chrisl: Fair enough.16:51.50 
chrisl_x250 Robin_Watts: it is on my list to revisit, though16:52.17 
Robin_Watts I see the problem with the stroking bug.16:52.58 
kens That was quick16:53.09 
Robin_Watts When we do 'accurate curves' we add an extra degenerate line segment onto the end of flattened curves so that the tangents are correct.16:53.45 
kens Ah I had considered suggesting that as a solution16:54.03 
  TO the flat curves being incorrectly angled16:54.17 
rayjj degnerates are often problems ;-)16:54.20 
Robin_Watts As part of the stroking process, we keep 'notes' on the lines as to whether the segments came from a flattened curve or not.16:54.32 
  and the 'first' line of a curve is specially treated (cos we don't want to use the 'curve_join' when joining to it).16:55.20 
  Unfortunately when we add the degenerate line, it means that the 'first' line is now degenerate, so we skip it, and join to the second line.16:56.09 
  The second line isn't the first, and so we use the curve line to join to it.16:56.28 
  The fix is to make sure that when we add the degenerate first line, we leave the second line labelled as being the first.16:57.01 
kens That doesn't cause any problems with the degenerate first line ? DOn't we have 2 lines labelled first now ?16:58.18 
Robin_Watts kens: We do have 2 lines labelled first, yes.16:58.34 
  But the sole difference that that makes is in the join/underjoin handling.16:58.56 
kens Umm, OK< sounds like a good idea to comment it though16:59.13 
Robin_Watts and that won't matter.16:59.16 
  kens: I will do.16:59.24 
  (assuming the cluster test doesn't show something horrible)16:59.40 
kens It sounds like exa\ctly the sort of thing I will trip over in a couple of years and go 'WTF ?'16:59.54 
mvrhel_laptop bbiaw. 18:31.49 
Robin_Watts and the cluster test shows a problem :(19:03.06 
  Ok, so I have what I believe is a fix for the stroking problems.20:19.38 
  testing it is going to be a bitch though.20:19.46 
  Enabling accuratestrokes causes hundreds of diffs. It's hard to see the further diffs caused by the stroking fix in that noise.20:20.29 
 Forward 1 day (to 2016/01/21)>>> 
ghostscript.com
Search: