IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2016/02/07)20160208 
a0or Hello to everyone. Can I tell what is my problem with mupdf here?11:22.36 
  Or can I contact someone who develop such things.11:22.57 
tor8 a0or: yes.11:23.00 
a0or Cool. This what happened me few minutes ago. I try to open pdf file (but I didn´t know that is not complete). 11:23.53 
  And mupdf use my cpu and memory 400%. Can this be fix?11:24.15 
  and sorry to my english, of course. :)11:24.24 
  I also use document viewer on my Linux Mint. Mupdf is much lighter but what about this bug.11:24.58 
Robin_Watts a0or: So, you gave MuPDF a broken PDF file, and it ate CPU?11:25.08 
a0or Yes yes, thats the point Robin_Watts 11:25.26 
malc_ Robin_Watts: have you noticed '400%' part? since when mupdf went MT?11:25.37 
Robin_Watts Did it come back to you eventually?11:25.41 
a0or Some error? No, nothing.11:25.52 
  just frozen all my desktop/laptop. 11:26.11 
Robin_Watts a0or: OK, so when MuPDF is given a broken file, it will try to repair it.11:26.15 
  It's possible that that may take a chunk of CPU time, but it shouldn't take THAT long.11:26.34 
  Can you make the broken file available to us please?11:26.45 
a0or yes but what about documents viewer? How that program can ttell you that file is not complete?11:26.48 
  Of course Robin_Watts , i will find some uplod site and send you a link.11:27.19 
Robin_Watts Thanks.11:27.23 
  a0or: What version of mupdf are you using?11:27.34 
a0or Thanks to you and all others :)11:27.35 
  i think last version, first must check. Will be back soon.11:27.59 
Robin_Watts malc_: I was putting the 400% down to typical misreporting of CPU/Memory usage. Possibly due to swapping.11:28.25 
  malc_: And MuPDF is capable of MT, just not many people use it that way.11:28.46 
malc_ Robin_Watts: well aware.. thing is mupdf the tool is among those "many people" so to speak11:29.17 
a0or well, while file is not uploaded yet (27MB), I found what version i use, it is 1.3-2.I don´t know why, probably I installed mupdf on software manager.11:32.42 
  Actually, sorry about that. But software manager said that (i think it is my mupdf version). Now I see what is wrong.11:33.38 
Robin_Watts a0or: Wow, that is old.11:36.28 
  You probably want to retry with the latest version.11:36.39 
a0or Of course I do that. Really don´t know how this I missed. 11:37.51 
  Or how linux mint update this software manager. Robin_Watts are you programmer? :D Sorry for offtopic but i am curios. :)11:38.35 
Robin_Watts a0or: I am one of the MuPDF/GS devs, yes.11:38.53 
a0or Wow, that´s greate. I believe one day I work some similar job, developer some open source software etc.11:40.02 
  Ok, time to back. Robin_Watts i downloaded newest version of mupdf. I extract this tar.gz but what is next step?11:43.24 
Robin_Watts a0or: Build it?11:43.44 
a0or Sorry what? 11:44.14 
  Well don´t know how to install this pdf viewer. Any help?11:48.42 
Robin_Watts a0or: Well, building it, is probably as simple as doing "make"11:49.56 
a0or Sorry, but don´t know what you´re talking about. 11:50.47 
Robin_Watts a0or: So, you've unpacked the tar.gz ?11:51.08 
a0or No problem, I´m not smarter guy :D I will found online what and how to do.11:51.10 
  Oh that, of course I am.11:51.18 
Robin_Watts Right, so cd into the unpacked directory.11:51.36 
  Then type 'make'.11:51.42 
a0or Ok, now to try this one.11:52.04 
  Installing, can´t believe. :)11:53.42 
  I have some error or what. -> platform/x11/x11_image.c:21:33: fatal error: X11/extensions/XShm.h: No such file or directory #include <X11/extensions/XShm.h> ^ compilation terminated. make: *** [build/debug/platform/x11/x11_image.o] Error 111:55.02 
tor8 a0or: you'll need to install the xorg-dev package11:55.18 
a0or but how tor8 ? 11:56.18 
tor8 and also the mesa-common-dev and libgl1-mesa-dev, libxcursor-dev, libxrandr-dev, and libxinerama-dev.11:56.20 
a0or So difficult.11:56.39 
tor8 using your package manager. linux mint is based on debian?11:56.43 
  then the command line: sudo aptitude install xorg-dev11:56.55 
  etc11:56.56 
a0or ok tor8 now i will try.11:57.50 
Robin_Watts So copy_alpha only does 2 or 4 bits. Seriously? WTF thought that was a good idea?12:00.11 
  tor8: Where are we on reviewing the harfbuzz changes?12:26.13 
  If we can get that in, I can rebase sebras changes on top of them.12:26.26 
tor8 Robin_Watts: just been looking through sebras' alternatives for soft hyphens12:27.29 
  Robin_Watts: is the stuff on robin/harfbuzz the latest?12:27.58 
Robin_Watts It is.12:28.05 
  sebras/alternative-2... measure_line looks broken to me. c is only ever set in the FLOW_SPACE case as far as I can tell.12:33.30 
tor8 alternative-1 can't work more than once, overwriting content.text with alternate in case of a line break12:34.02 
  the alternative-1 code looks a lot simpler than alternative-212:34.19 
Robin_Watts I was thinking just the opposite :)12:34.43 
  tor8: I don't understand alternative-2's use of unbreak-line.12:35.31 
  (but that may well be my ignorance rather than any flaw on sebras part)12:36.05 
sebras hi!12:36.39 
tor8 Robin_Watts: so you think the alternative that you don't understand is simpler? ;)12:36.40 
Robin_Watts tor8: potentially, yes ! :)12:36.58 
sebras Robin_Watts: the idea of unbreak_line() is to remove any potential breaks in a line and only keep the one that was actually used.12:37.20 
Robin_Watts sebras: Right, but we load the document once, and turn it into nodes (AIUI).12:37.43 
  Then we lay it out, potentially multiple times.12:37.53 
sebras tor8: is it a problem that it can only work once?12:37.55 
  Robin_Watts: why multiple times?12:38.07 
Robin_Watts (think of an e-reader where you bump the font size)12:38.09 
sebras oh...12:38.15 
  then neither of my patches are good (yet).12:38.30 
Robin_Watts So loading happens once, layout multiple times (AIUI).12:38.36 
sebras of course. I should have realized.12:38.47 
  back to the drawing board...12:38.56 
Robin_Watts sebras: Well, deciding to reload when we relayout would be a different route (and one that might have benefits - haven't considered it fully)12:39.29 
  But I am attracted to a solution were stuff like hyphenation nodes don't need a pointer to a '-' cos it's kind of implicit from the type.12:40.26 
sebras tor8: since you are here now: do you think nodes like hyphens or space nodes will ever use arbitrary characters? i.e. would it be feasible to always deduce the character to use (either when the node breaks a line or not breaks a line) only given the type?12:44.54 
Robin_Watts https://www.cs.tut.fi/~jkorpela/dashes.html12:46.14 
  There are 26 'dashes or hyphens' in the unicode spec.12:46.31 
tor8 sebras: I think we can assume that spaces will always be ' ' and hyphens a '-'12:46.48 
  Robin_Watts: using the alternate content variant, I'd say we can use two characters for the glue nodes rather than actual strings12:47.28 
  0/0, ' '/0, 0/'-'12:47.47 
Robin_Watts tor8: I was thinking that it'd be nice to move to a mode where 'nodes' are of variable sizes.12:48.03 
  and if we're doing that, we can do away with the text pointers, and just have them as 0 terminated data on the end of the struct.12:48.27 
  Given that most words are going to be 12 chars or less, that's a big memory saving.12:48.55 
tor8 Robin_Watts: yeah, packing the 'char *text;' at the end using a variable sized alloc could save a chunk of memory12:49.25 
  but don't forget these are all allocated using the pool allocator, so is still aligned to 4 or 8 bytes12:49.53 
  I wonder if the style and image pointer could live together in a union12:50.31 
  though I suspect image flow nodes may also need the style info12:50.44 
Robin_Watts tor8: Yes, I realise the alignment thing is still important.12:50.50 
tor8 if going with the alternate content thing, I'd put the content union at the end of the struct and allocate past it12:51.47 
Robin_Watts I pondered losing the 'next' pointer by packing stuff into an array, with some bits in the header giving 'size' info (as we do for the displaylist device), but then realised that that would stop me being able to split nodes.12:52.05 
tor8 but be VERY careful using strcpy on a variably sized alloc from a fixed size array12:52.09 
  compiler optimizers using builtin strcpy primitives will barf on that and give the wrong results12:52.29 
Robin_Watts tor8: Cos of gcc's magic checking stuff?12:52.34 
tor8 Robin_Watts: yeah.12:52.40 
  I had big problems with that for mujs12:52.47 
Robin_Watts Gotta love compiler writers.12:52.57 
tor8 I hate optimizing compilers...12:53.06 
  struct flow { ... union { fz_image *image; char text[4]; } at the end of the struct and then alloc it variably sized12:54.08 
  Robin_Watts: yeah, I think moving to an array rather than a linked list would just complicate matters more than necessary12:55.43 
Robin_Watts Yeah. It could be made to work if we had a 'split buffer' like editors use and shuffle stuff up and down, but... hassle.12:56.29 
tor8 the pool allocator means we still have memory locality for performance; and don't waste overhead on system malloc12:56.33 
Robin_Watts maybe later once everything calms down.12:56.40 
  yeah.12:56.52 
tor8 Robin_Watts: maybe later we'll rewrite the structures completely; but I expect a lot of churn in these structures as features get added12:57.02 
  we still need to consider tables12:57.22 
  and floating images12:57.36 
Robin_Watts I need to read up on how the TeX algorithm deals with floating images etc.12:58.22 
  SO has a thing called the 'packer', that represents a page as a series of 'used' rectangles, and we 'pack' new rectangles into it.12:59.01 
  but that's a classic greedy algorithm; it doesn't work for revisiting lines to find a better layout.12:59.43 
marcosw sebras: I'm going to reboot casper13:00.45 
sebras marcosw: alright.13:01.25 
tor8 Robin_Watts: we could probably get away with doing what groff does--it does a greedy layout but still uses penalties to decide whether to hyphenate or keep going on a per-line basis13:02.22 
Robin_Watts tor8: heuristics, yes.13:02.44 
tor8 so it uses tex-like metrics but on a per-line basis rather than globally across the paragraph13:02.54 
Robin_Watts tor8: We could store the packer state (or whatever our equivalent is) at the start of each paragraph and retry paragraphs repeatedly.13:03.38 
  If we're taking paragraphs as the granularity at which we want to work.13:04.15 
sebras tor8: Robin_Watts: UAX #14 is referenced in the source code. but it seems to be a bit complicated to implement..?13:04.32 
tor8 sebras: UAX #14 is incomplete13:05.04 
sebras tor8: oh? how so?13:05.12 
sebras doesn't know much about line wrapping he realizes.13:05.28 
Robin_Watts http://www.unicode.org/Public/PROGRAMS/LineBreakSampleCpp/13:05.46 
tor8 sebras: or at least it was a couple of years ago. there are line breaking properties that are language dependent that aren't in the "spce"13:06.01 
Robin_Watts I am using a (derivation of the) UAX#9 sample code.13:06.14 
tor8 C, J, and K have different rules about where to allow/forbid line breaks around punctuation13:06.27 
Robin_Watts (for bidirectional stuff)13:06.29 
tor8 sebras (for the logs): I've currently implemented the first two principal styles of text breaking in our epub--western (spaces and hyphens) and east asian (anywhere except where prohibited)13:07.48 
  south east asian I've left as an exercise for the masochistic ;)13:08.02 
  Robin_Watts: it's a bit worrying that the sample you linked hasn't been updated since 2009 and the readme.txt saying it's incomplete for later versions13:09.12 
  but no newer code supplied.13:09.15 
Robin_Watts tor8: Indeed. The UAX#9 code is similar.13:11.50 
  We might be able to lift derived newer versions of that code from firefox/graphite 2.13:12.13 
tor8 Robin_Watts: still, I think if we can extract the core of linebreak.cpp and use that instead of my quick hacks that'd probably be good enough13:12.17 
Robin_Watts tor8: yeah. 13:12.32 
Robin_Watts lunches. bbs.13:12.36 
tor8 or use the graphite implementation, if that's an improvement13:12.53 
  sebras: some messages for you in the logs13:16.21 
sebras is already reading.13:16.40 
  tor8: hm.. how is UAX #9, UAX, #14 and UAX #29 related? has anyone used them all together?!13:18.25 
  tor8: the line breaking in the sample code that robin linked to is indeed using at least part of the table from UAX #14.13:19.28 
  tor8: and no, even the newer versions do not sort out south east asian languages.13:19.55 
  tor8: btw, graphite is that this one? http://graphite.wikidot.com/ else I need a pointer to find the right one.13:21.57 
tor8 sebras: http://scripts.sil.org/cms/scripts/page.php?site_id=projects&item_id=graphite_home13:22.43 
  graphite is the name of the (arguably) technically superior alternative to opentype, that is developed and used by SIL and implemented in a lot of places but has no real hope of supplanting opentype13:23.59 
sebras right.13:24.34 
tor8 it's an opentype style layout engine that puts the smarts in the font tables rather than having dumb tables and smart code13:24.39 
sebras so I'll look a bit at how it does line breaking later tonight.13:25.01 
tor8 so it works for languages and scripts that haven't been specified by opentype13:25.07 
  sebras: UAX #29 is more about determining word and sentence boundaries than line breaking13:25.52 
  think, double clicking to select a word, that sort of thing13:26.03 
sebras tor8: right. I tried to read up on UAX #14 saturday, but that spec was a bit overwhelming.13:28.29 
  tor8: if we decide to take it in maybe we need to look at what has changed between 5.2.0 and 8.0.0, but maybe there are only minor differences.13:28.58 
tor8 sebras: http://www.unicode.org/Public/PROGRAMS/LineBreakSampleCpp/readme.txt I take it you saw the note in that?13:32.17 
sebras tor8: no, but I got that from the discussion here.13:36.14 
  tor8: so what I'm saying is that the differences between 5.2.0 and 8.0.0 we might need to adress ourselves.13:36.35 
tor8 I suspect the differences make for a non-trivial algorithm of insane complexity that nobody has bothered to implement13:37.10 
sebras tor8: could be a few easy to fix bugs, but it seems that they also implemented a few new classes.13:37.48 
  character classes that is.13:37.56 
a0or Hello to all, I am here again. I re-installed mupdf, but i don´t know what is my version. I followed instructions from http://ubuntuhandbook.org/index.php/2015/06/install-mupdf-ubuntu-1504/13:38.45 
tor8 a0or: run 'mutool -v' on the command line13:39.34 
a0or said this: usage: mutool <command> [options] clean-- rewrite pdf file extract-- extract font and image resources info-- show information about pdf resources poster-- split large page into many tiles show-- show internal pdf objects13:40.35 
  I don´t know is it problem to make it easy to use.13:41.51 
tor8 a0or: so, an old enough version to not support the '-v' option :)13:42.05 
a0or tor8: And I am really stupid. How can i update this throught terminal? :)13:42.40 
  And things like this make me to believe I am stupid a little more, everytime. 13:43.08 
tor8 ignorant is not the same as stupid.13:43.28 
a0or And that´s why i uninstalled good programs. Cause don´t know what to do.13:43.32 
tor8 a0or: so, if you know how to use the command line (or you wouldn't have been able to run 'mutool -v')13:44.02 
  and you managed to run 'make' but got an error because you were missing packages13:44.15 
  have you tried installing the xorg-dev package and running make again?13:44.31 
a0or tor8: is really good guy ;p :) Yes, I trying but nothing happened, also can´t see program when want to open pdf file.13:45.17 
tor8 "nothing happened" when you ran "sudo aptitude install xorg-dev"?13:45.37 
a0or soo... I was thinking that problem is my os, so I upgrade it to last version. But as you can see - nothing happened.13:45.53 
  No, something is happend. 13:46.06 
  But as i said, can´t not see mupdf option when right click pdf files.13:46.30 
  Who knows how many packages I must installed to have lastest version of mupdf ^^13:47.07 
tor8 mupdf doesn't configure your desktop environment (there are too many and they're all different)13:47.31 
a0or Ok. Well, to repeat this sudo command you wrote?13:48.00 
tor8 if you succeed in building mupdf from source, you have a binary executable file in 'build/release/mupdf-x11' or 'build/release/mupdf-gl'13:48.02 
a0or On english please :)13:48.17 
tor8 a0or: do that, and if it fails just repeat the error message here13:48.21 
a0or Ok, will try now.13:48.37 
  tor8: sorry to bother you, now i have this error - /usr/bin/ld: cannot find -lGL collect2: error: ld returned 1 exit status make: *** [build/debug/mupdf-gl] Error 113:53.19 
  also to said - i uninstalled old version of mupdf (using software manager)13:54.33 
  Should I also run this > sudo aptitude install xorg-dev?13:56.20 
tor8 a0or: sudo aptitude install mesa-common-dev lbigl1-mesa-dev13:58.39 
  libgl1-mesa-dev13:58.51 
a0or working somethings on terminal... :)14:00.41 
  Show this - Current status: 221 updates [-7]. And also mutool -v didn´t work tor8 14:02.51 
  Oh yes, I am really ignorant. :)14:03.04 
  must tell me tor8 how you know this script will work mesa-comon-def libg.....14:03.40 
tor8 a0or: the opengl headers and library are from those packages14:04.41 
  Mesa is the opengl implementation on Linux14:05.00 
a0or Ok, let´s says I know what you are talking about :D Thank you anyway.14:05.57 
  Also have off-topic question for you. what programming language you know, cause you dev open source program.14:06.52 
tor8 a0or: I know too many programming languages to list...14:07.31 
  mupdf is written in C14:07.37 
a0or too many? :D lucky you. I know just play my instrument :D14:08.00 
  And about month ago I started with Python. Too complicated but have some idea about that. :)14:08.40 
  And is it possible to install new version on my linux mint Sir?14:09.20 
tor8 python is a decent language to start with.14:09.53 
  but python can easily become rather complicated if you dig too deep in its features14:10.33 
  Lua is a simpler language14:10.41 
a0or I agree with you. Lua? First time heared about this one. Ok, what can you advise me, maybe Lua and C after some Python language=14:11.20 
tor8 if you're serious about learning to program, I'd recommend starting out with something like Pascal to get the basics down solid.14:11.57 
a0or Pascal? I will try thank you tor8 :)14:12.36 
tor8 a0or: http://www.lua.org/pil/contents.html14:12.39 
a0or Thanks.14:13.01 
  But have some ..i don´t know how to said that. I don´t know where after learn Lua or Python etc. What to program, open source or some web apps...14:15.32 
  And back to the mupdf - what now I should do?14:16.05 
tor8 a0or: for lua, there's love2d.org14:16.07 
a0or wow, that´s looks promising. :)14:16.33 
tor8 a0or: and for the love of all that's good in the world -- avoid web development14:16.34 
a0or thank you again.14:16.37 
tor8 if you've got those installed, did the 'make' command succeed?14:16.50 
Robin_Watts a0or: The choice of what language to learn will be influenced by what you want to do.14:17.15 
a0or Oh, to avoid. Ok ok, thank you. 14:17.32 
  Robin_Watts: problem is i don´t know (yet) what I want to do :914:17.49 
tor8 a0or: web development is a real hairy complicated mess. a sure way to be discouraged.14:17.53 
a0or maybe some open source stuffs.14:17.55 
Robin_Watts There is no "best" language to learn. All have strengths and weaknesses.14:18.02 
  "open source stuffs" is marvelously unspecific.14:18.16 
a0or i know but - don´t know where to start reading some about that.14:19.06 
  tor8: there is no any error, but when try mutool -v, same happened.14:19.38 
  What you choosed Robin_Watts ? I am just curios14:20.48 
tor8 a0or: if you just run 'mutool' it will use the system binary.14:21.00 
  a0or: make only compiles the new version, it does not install it.14:21.10 
  a0or: run ./build/debug/mutool -v14:21.16 
Robin_Watts a0or: The first language I ever used was BASIC.14:21.37 
tor8 Robin_Watts: I started in the deep end ... with C.14:21.57 
Robin_Watts From that I learned assembly and then moved to C.14:21.58 
tor8 then I migrated to turbo pascal before going back to C after a couple of years.14:22.26 
kens BASIC, FORTRAN, ALGOL, machine code, Pascal, C, C++, PostScript, after that I lose track14:23.48 
a0or Robin_Watts: ok but what you wanna to do after learning programming?14:23.59 
  kens: you know all this ? wow, what to said. :)14:24.19 
kens Programming is a skill, the language is simply the tool you use14:24.42 
Robin_Watts a0or: What do I want to do when I finish learning? I'll never finish learning ;)14:24.51 
kens Some tools are better for some purposes, others for different purposes14:25.03 
a0or but you ask me same question :D Robin_Watts 14:25.07 
kens For example if you wanted to develop on Android you would need JavaScript14:25.24 
Robin_Watts kens: Nope. Java :)14:25.36 
tor8 a0or: university exposes you to a lot of languages too. java, prolog, scheme, haskell.14:25.39 
kens Sorry yes I meant Java14:25.43 
a0or btw, said version 1.8 is installed. But can´t find how to open pdf files.14:25.45 
kens I tend to confuse the 214:25.52 
a0or lol kens 14:26.00 
kens I don't use either of them, so.....14:26.19 
tor8 a0or: in your file manager there is probably a right-click menu "open with..."14:26.26 
kens I forgto I also learned SmallTalk a long time ago14:26.37 
a0or I think I will start with java, cause think it is very good language, but then start with python.14:26.43 
kens thnks Java is a horrible language, but there you go14:27.09 
Robin_Watts a0or: No. I just said that the language you pick will (or should) be influenced by the task you have in mind.14:27.16 
a0or i try all that tor8 but can´t see mupdf option.14:27.29 
  what tasks you got in the mind few years ago, when you started? :D14:27.59 
tor8 a0or: you need to add one14:27.59 
a0or ooohh... don´t know that. now i will tr.y14:28.15 
Robin_Watts If you don't have a specific task in mind, then you'll find it hard to put the theory into practice.14:28.15 
  a0or: I wrote games as a kid.14:28.33 
  I wrote utilities as I got older.14:28.48 
a0or ok, thank you Robin_Watts . well i should start with games. :)14:30.15 
  but i am not a gammer type of human :D 14:30.33 
  oo this is soo boring to add mupdf, there is no logical option.14:30.54 
paulgardiner a0or: find something not too complicated that you personally need. Make that your first project.14:31.17 
tor8 a0or: there's usually a "custom command line" thing14:31.38 
a0or yes, but what to put? :)14:31.47 
tor8 the path to mupdf-gl that you just built with make14:31.58 
  like /home/a0or/src/mupdf/build/debug/mupdf-gl %s14:32.24 
  or something like that14:32.32 
a0or this is prtsc, now i will try this.14:33.08 
  http://prntscr.com/a0kmvl14:33.49 
  there is now /src/ option.14:34.25 
  oh i get this, just a moment.14:34.38 
  thats it, finally works mupdf. :)14:35.38 
  thanks to all you guys.14:35.53 
tor8 a0or: cool.14:35.55 
a0or yes. have some questions.14:36.02 
tor8 a0or: now if you want a faster version run "make build=release" and use the build/release/mupdf-gl binary14:36.19 
  a0or: and you can also run "sudo make build=release install" to install it in /usr/local/14:36.36 
a0or yes!!! tor8 that´s it, to install it: :D14:37.06 
  cause folder is in the downloads.14:37.40 
  while this is installing, am i too old to learning programming (cause i have 24y).14:38.54 
Robin_Watts a0or: There is no age limit to learning to program; it just requires time and energy. Lots of time to be good.14:40.26 
a0or i think Robin_Watts is too smart, it´„ not a joke.14:40.51 
  :)14:40.51 
  it installed - and works greate. don´t know how to make it faster, cause i try make build=release but said - make: Nothing to be done for `default'.14:42.11 
Robin_Watts a0or: Learning to program is like learning a musical instrument. You can pick one up at any age. Almost anyone can learn to pick out a tune, but if you want to be good, you need both talent and application.14:42.39 
tor8 a0or: if the output from make said "CC build/release/..." etc you're good14:43.01 
  a0or: or just check that you have a file in build/release/14:43.25 
a0or i have a lot of files on buld/release14:44.04 
tor8 Robin_Watts: and talent is not the primary ingredient ... time and practice is.14:44.08 
Robin_Watts tor8: Right, but talent is definitely a factor.14:44.43 
tor8 Robin_Watts: talent or general affinity definitely doesn't hurt!14:45.06 
a0or how to know i am talented? maybe stupid question but..14:45.06 
tor8 a0or: you can't know unless you try14:45.18 
Robin_Watts a0or: How do you know if you are talented at playing a musical instrument? You try and see.14:45.33 
a0or yes, and lot of practice. :)14:45.51 
  guys, you are amazing. :)) all of you ;p14:46.01 
  tonight i will play in orchestra cause conccert is in wed.14:46.42 
  and last question and i should turn off laptop :) 14:49.00 
  is there option to living if i know programming?14:49.15 
kens WHat, you want a life ? Clearly not programmer material14:49.34 
a0or when said living i think on bought house, have car etc.14:49.35 
  well... there is a big question: does i have a life. ;p14:50.20 
  mostly of my time i spend in the house p14:50.35 
  on my language said : brate moze li se od toga zivjeti.14:51.24 
malc_ anyone of you birtts are from cambridge area?14:51.39 
  a0or: czech?14:51.51 
a0or noup, serbian.14:51.59 
malc_ hvala14:52.07 
a0or lol hvala 14:52.21 
  yeh, that´s is correct. :)14:52.27 
malc_ ÑÐµÑ€Ð¿ÑÐºÐ¸Ð¹...14:53.04 
  oh well14:53.07 
  apparently not14:53.09 
a0or you are russian,i guess.14:53.27 
malc_ tak14:53.34 
a0or maybe some similar.14:53.36 
  tak? what is tak? :)14:53.40 
  aa lol i got this. :)14:53.55 
malc_ tak means yes in some slavik languages14:53.55 
  apparently not serbian though14:54.01 
a0or on serbian not - we said - tako je.14:54.14 
malc_ k=c14:54.14 
a0or or something like that.14:54.36 
malc_ my father secondary foreign language in university was srpsko/hrvatski14:55.03 
  *fathers14:55.11 
a0or wow, you know our language. cool. :) i learned russian in primary scool, but that was long time ago.14:55.35 
  now there is not srpsko/hrvatski, now onw is srpski and other is srpski (and other is montenegrian, where i live :D)14:56.18 
  but there is too similar languages.14:56.33 
  acctually - there is one language.14:56.42 
  i don´t remmember has i said thanks to all... thanks people, really.14:57.58 
  now i must go, to practice my instrument. (tomorow i will bi practice programming). bye to all tor8 Robin_Watts malc_ and others. :)14:58.44 
Robin_Watts mvrhel_laptop: Hi. You here?15:24.13 
  kens: You may know the answer to this too.15:25.04 
kens ?15:25.08 
  LOL15:25.33 
tor8 Robin_Watts: a lot of the shaping setup code in measure_word and draw_flow_box is duplicated; could we split that into a smaller function?15:33.56 
Robin_Watts tor8: Sure.15:34.10 
tor8 like shape_string(char *s, char **end, font, hb_buf)15:34.16 
Robin_Watts Can we commit what's there and then polish it ?15:34.20 
tor8 Robin_Watts: yeah. just a minute, I'm still in the middle of reading through draw_flow_box15:34.37 
Robin_Watts no worries.15:34.44 
  i'm buried in gs.15:34.52 
tor8 Robin_Watts: okay. it's looking good so far.15:35.05 
  you call FT_Set_Char_Size twice in the same function, not sure what's going on there15:35.53 
  I'm not sure we need to reverse the string back into logical order for text extraction to work15:37.15 
  the text extraction does a visual->logical reordering pass already15:37.26 
  so there's the distinct possibility that this reversing is going to end up with us reversing twice15:37.59 
Robin_Watts tor8: Suppose we have: ABCDE as the input glyphs (left 2 right).15:39.30 
  They can get rewritten as FGHIJ (still left 2 right).15:39.48 
  so I need to run through and make sure that I send the unicode values from the original with the glyphs that are actually sent.15:40.55 
  So that's half of that alternation.15:41.08 
  Now suppose we have ABCDE in a r2l script.15:41.21 
  harfbuzz always gives the resultant glyphs/positions in left 2 right order.15:41.43 
tor8 isn't the hb_glyph_info->codepoint the unicode value from the original?15:42.51 
Robin_Watts hence I look at FGHIJ and find out which of the source chars they came from, and I always send them in the same order that they arrived in my function in.15:43.18 
  so if ABCDE doesn't undergo any rewriting (other than being displayed as r2l) then I output ABCDE.15:43.56 
tor8 Robin_Watts: the text extraction will look at EDCBA glyphs, notice that they're in an R2L script, and reverse the order15:44.03 
  so if you send them as ABCDE, it'll reverse them from logical back into visual order15:44.16 
Robin_Watts (i.e. the logical order of the glyphs is unchanged)15:44.24 
tor8 the text extraction expects text to be sent in visual order (since this is what the PDF files we've seen do)15:44.46 
Robin_Watts tor8: And that's fine, cos that's what the text extraction code has always done.15:44.47 
tor8 Robin_Watts: fz_bidi_reorder_stext_page15:45.42 
Robin_Watts So we get ABCDE into the shaping code, and ABCDE out. That goes into the device code as ABCDE (with the movement such that it appears as EDCBA)15:45.52 
  The text extraction "soup" straining will pick that out as EDCBA.15:46.15 
  and the reversal you're talking about will return it as ABCDE, which is what we want, I think.15:46.36 
tor8 we get ABCDE as input text, the bidi code reorders that as EDCBA for shaping, the shaping leaves it as EDCBA and it goes to the fz_text as EDCBA and the text extraction spots the script and reverses into ABCDE for search etc15:46.53 
Robin_Watts No.15:47.04 
  the bidi code does not reorder.15:47.13 
tor8 okay.15:47.20 
Robin_Watts The bidi code tags the fragment as being r2l.15:47.21 
tor8 right.15:47.25 
  and harfbuzz is okay with that?15:47.44 
Robin_Watts Yes. harfbuzz expects it's input in 'logical' order.15:48.01 
  (logical order is "how a native speaker would read it aloud", I reckon)15:48.22 
tor8 okay. it just needs it tagged for direction?15:48.23 
Robin_Watts tor8: harfbuzz doesn't even need it tagged for direction.15:48.45 
tor8 and which way does it come out from harfbuzz?15:49.11 
Robin_Watts It will derive its own direction from what it's given.15:49.14 
  harfbuzz always gives the stuff out in render order from left 2 right.15:49.35 
  which is why I do the dance to make sure that I keep it in logical order.15:49.54 
tor8 okay, so if I revise my previous statement then:15:49.58 
  we get ABCDE as input text, that gets reordered by harfbuzz into visual EDCBA order, which is fed into fz_text as EDCBA, which is extracted into a span as EDCBA and then reversed by fz_bidi_reorder_span into ABCDE for searching15:50.48 
Robin_Watts we get ABCDE as input text, the bidi code tags it as r2l, the shaping code gives us EDCBA, but it goes into to fz_text as ABCDE.15:51.09 
tor8 right, that's where we're wrong, as I understand it.15:51.30 
  the code in fz_text should be EDCBA15:51.34 
  your dance to keep it in logical order would mean that the text extraction reverses the logical text back into visual order15:51.55 
Robin_Watts The code in the fz_text should *absolutely* be in logical order, in my view.15:52.02 
  and the text extraction code should not care what direction in comes in.15:52.14 
tor8 Robin_Watts: I agree that that would be the sane way to do it... but PDF and XPS don't15:52.19 
  or hm, maybe XPS does15:52.24 
Robin_Watts cos the soup straining always orders stuff left 2 right.15:52.38 
  and your reversal then converts that back to logical order.15:52.54 
tor8 Robin_Watts: ah, right, forgot about that step.15:53.10 
  in that case you can ignore my ramblings :)15:53.30 
Robin_Watts Cool. good to think about it though.15:53.40 
tor8 though I'm not convinced the soup straining always gets things right15:53.51 
  we do seem to have a large number of text extraction glitches :(15:54.08 
Robin_Watts Then that's something we should fix.15:54.23 
tor8 Robin_Watts: okay, so the whole dance with parsing the original text again is because the hb_glryph_info->codepoint is in visual order15:54.49 
Robin_Watts Yes.15:55.27 
tor8 Robin_Watts: I think there's a case for simplify the soup straining, and only work locally and drop most of the heuristics trying to sort into columns and tables15:55.36 
Robin_Watts Or at least, it's certainly not in logical order.15:55.38 
  tor8: I'm amenable to all sorts of suggestions for that code.15:56.03 
tor8 I'm not convinced we need to do that (keep it in logical order). it'd be interesting to see what xps does though; I think we'd not go too far amiss if we follow their example.15:56.15 
  have you got office on your windows? to paste some arabic text into a document and print it as xps.15:56.58 
Robin_Watts tor8: We feed the logical ordering into harfbuzz once to do the measurement (and splitting of fragments by missing glyphs per script).15:57.23 
  We then feed it back into harfbuzz for rendering.15:57.32 
  If we cock up the ordering at the first stage, the second will give bad results.15:57.47 
tor8 Robin_Watts: it'd be good if we could cache the results of the first shaping in the html flow node15:58.16 
  but that'd blow up the space requirement for flow nodes15:58.27 
Robin_Watts At the cost of doubling the memory?15:58.33 
  yeah.15:58.36 
  Yes, I have office here.15:58.44 
tor8 yeah, no, I'd rather pay the processing overhead.15:58.45 
  the g->cluster field, what does it contain?15:59.42 
Robin_Watts kens: So to call get_dev_param I need access to a stack_param_list ?15:59.53 
  tor8: I can't remember.16:00.03 
kens Robin_Watts : shoulnd't16:00.09 
tor8 looks like the offset into the utf8 string16:00.13 
Robin_Watts tor8: Ah, right, yes.16:00.29 
  That's what I use to figure out that this (or these) output glyphs came from this input text.16:00.50 
tor8 Robin_Watts: okay, I think this is in good enough shape to commit but it does need a bit of polishing up.16:00.57 
Robin_Watts tor8: cool.16:01.06 
tor8 if we don't need to reverse back into logical order for fz_text, it could be simplified (and sped up) quite a bit though16:01.48 
Robin_Watts kens: The gsdxo takes "HighLevelDevice" as the request string, and I have to pass in a stack_param_list to write to.16:02.03 
  (at least I assume that's what it writes to)16:02.15 
kens a param list, possibly16:02.40 
Robin_Watts kens: I'm looking in the zdevice implementation.16:03.13 
kens give me 5 minustes to tidy up16:03.26 
Robin_Watts ok, I see other things using a gs_c_param_list16:04.12 
kens Yes, but you can just use a param_list, or should be able to16:04.44 
Robin_Watts kens: OK.16:04.52 
kens a C param list is OK though16:04.52 
  Just cast it to a param_list *16:05.06 
Robin_Watts Gotcha. Will copy from those places then. thanks.16:05.07 
kens thinks welcome to param lists Robin_Watts16:06.16 
Robin_Watts if the source text for a book is "Mary had a little lamb", then it seems nicer to have the nodes being "Mary" "had" "a" "little" "lamb" rather than "Mary" "dah" "a" "elttil" "lamb"16:11.37 
HenryStiles Robin_Watts: don't know if you get the coverity emails some minor stuff was flagged in trapping16:32.25 
Robin_Watts will look.16:32.47 
  mvrhel_laptop: ping!16:32.56 
  HenryStiles: I don't believe I do get the coverity emails.16:40.41 
kens Maybe you have to sign up for them, I get them16:41.43 
HenryStiles Robin_Watts: forwarded but I think everyone should subscribe, I'll bring it up at the meeting.16:41.52 
kens Yeah Marcos shoul dhave sent you an invite to subscribe16:42.02 
Robin_Watts ok, so I do get them, but searching for 'coverity' is apparently too much for thunderbird :/16:46.37 
  reboot16:48.26 
dalerank could any answer for mujs questions?17:18.17 
Robin_Watts dalerank: You've missed tor8 again.18:29.56 
dalerank yep, I know already :)18:33.33 
ShakespeareFan00 Hi20:03.37 
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.20:03.37 
ShakespeareFan00 Technical enquiry20:03.43 
  On loading an EPS with an Embedded font, whose kerning data gets used?20:04.31 
rayjj ShakespeareFan00: no kerning is used. The EPS determines the position of strings to be placed on the page with the "show" operator, then the character spacing for glyphs within the string is whatever the glyp has20:16.56 
ShakespeareFan00 rayjj: And that positiong is based on what?20:17.31 
  The problem I have is that an EPS file I have is nominally under a 'free' license...20:17.50 
  However in examing the file it appears to contain propriatery font data, 20:18.08 
rayjj often PS/EPS creators will consult font kerning tables or an afm and position individual characters rather that rely on the glpyph "advance width"20:18.22 
ShakespeareFan00 You can't release propriatery data under a "free" license..20:18.23 
  I've found that when Inkscape imported the PDF output from Ghostscript, it was using the positiong data from the Embedded font, rather than that of what got substiuted.20:19.15 
  In this instance "Furtiger" (Propriatery) Got substituted for Arimo20:19.35 
  or DejaVu Sans20:19.40 
rayjj ShakespeareFan00: I am not a lawyer, but I think there are "fair use" provisions in Copyright law that allow for this.20:20.23 
dalerank_ maybe anybody know for mujs.... i have some js files, how i can loads it and use function from other js? thanks20:20.43 
ShakespeareFan00 rayjj: Fair use is not necessarily compatible with "free licenses" though :(20:20.55 
rayjj I know that TrueType fonts have a specific "allow copying" flag that Ghostscript respects when embedding fonts in a PDF20:21.10 
  I know enough to know that "free license" is a vague term :-)20:21.45 
ShakespeareFan00 rayjj: In this instance Creative Commons attribution Share Alike20:21.59 
  Most Fonts that are Open Font License don't have the issue of 'using' the font20:22.24 
  Frutiger is a commerical typeface .20:22.46 
  :(20:22.49 
  Free works need Free typefaces20:22.57 
rayjj But in any case, how does this relate to your kerning question -- or what is your question vis-a-vis ghostscript20:22.58 
  The URW fonts distributed with AGPL ghostscript are licensed under the GPL20:23.40 
ShakespeareFan00 rayjj: Those fonts are... Frutiger isn't, and from what I could tell Ghostscript isn't making the substitution20:24.10 
  INkscape's PDF import was.20:24.17 
  If Ghostcript had SVG output, I could avoid an intermediate step20:24.38 
  of course20:24.41 
rayjj If the EPS/PS/PDF source file embeds a font, then Ghostscript will prefer to use it20:24.51 
ShakespeareFan00 Is there an option to reject propriatery fonts?20:25.07 
  Or at least warn about fonts that aren''t "free"?20:25.21 
rayjj If you tell Ghostscript to write a PDF or PS2 file, you can tell it to not embed fonts20:25.36 
ShakespeareFan00 Hmm...20:25.54 
  Next problem is how to configure Inkscape to tell Ghostscript to do that20:26.28 
  ;)20:26.31 
  And then clean up the mess20:26.36 
  rayjj: Whilst I am here do you know of a "Free" altenative to Furtiger?20:27.24 
mvrhel_laptop Robin_Watts: sorry I missed you20:27.33 
ShakespeareFan00 Or at least something that's Vaugely metrics compatible20:27.35 
mvrhel_laptop I was out for a bit this morning20:27.44 
rayjj ShakespeareFan00: I don't know anything about Inkscape. 20:28.48 
ShakespeareFan00 Thanks for you help anyway20:29.11 
rayjj ShakespeareFan00: Please see http://www.ghostscript.com/doc/current/Ps2pdf.htm and look for the NeverEmbed distiller parameter20:29.42 
mvrhel_laptop eating. brb20:30.16 
rayjj ShakespeareFan00: NeverEmbed allows you to give it a list of fonts to not embed, allowing normal embedding of other fonts20:30.45 
dalerank_ will tor come today?20:32.09 
marcosw tor is in europe, so not likely to come back today. Best bet is early tomorrow morning (i.e. 1:00AM PST).20:39.28 
Robin_Watts mvrhel_laptop: ping ?23:20.14 
mvrhel_laptop Robin_Watts: I am here23:26.58 
Robin_Watts Ah, fab.23:27.03 
  Thanks for your mail.23:27.08 
  Let me just paste was I was replying...23:27.14 
mvrhel_laptop np. I am not sure it was much help23:27.18 
Robin_Watts An imagemask is a set of 'solid' or 'transparent' bits. The 'solid' bits are plotted in the current color (gs_currentcolor).23:27.31 
  My interpolation etc all happens on the mask, so I'm left with a set of alpha values. I call copy_alpha to say "blend this single colour with each pixel in turn using the given bitmap of alpha values".23:27.32 
  I understand that I can convert a set of gx_color_values to a gx_color_index by calling encode_color, but where do I get the set of gx_color_values from? There must be a way to get a set of gx_color_values from 'the current color in the imager state', but I don't know how.23:27.34 
  Some pointers to how to do that would be much appreciated.23:27.35 
rayjj Robin_Watts goes down the rabbit hole of concretize-remap-finagle color ;-)23:28.46 
Robin_Watts rayjj: Shh, I'm sending michael down the rabbit hole and I'm holding the string tied to his ankle.23:29.34 
mvrhel_laptop yes the whole thing is a mess23:29.35 
rayjj can't recall, but thinks you remap and that does the concretize, but I'd have to look at the code and am currently doing other stuff23:30.18 
mvrhel_laptop the thing is with the case that Robin_Watts has, I don't know if you want to fool with any remap / concretize mess23:31.02 
rayjj Robin_Watts: if the string breaks, just set a bp in encode_color and fill a rectangle with a color -- the callstack will show you the layers23:31.51 
Robin_Watts I can't believe there isn't a well defined mechanism for a) getting the gx_color_index that corresponds to the gs_currentcolor.23:32.01 
mvrhel_laptop Robin_Watts: hold on a minute. I need to send an email to my daughters saxaphone instructor real quick. Her sax broke and I need to cancel now, to avoid a charge23:32.50 
Robin_Watts or b) Getting the color components that correspond to the currentcolor (for high level color, for when a) fails)23:32.51 
rayjj there is a defined mechanism, but there are so many different color representations in gs that I can't recall which oyu need23:32.54 
Robin_Watts mvrhel_laptop: Go for it.23:32.58 
rayjj oh, my! two saxophones in the same domicile. You must have great sound cancelling headphones ;-)23:33.51 
  or a shed for them to practice in23:34.06 
Robin_Watts You should got them to play the tuba.23:34.41 
rayjj Robin_Watts: drums are MUCH worse than sax or tuba !!!23:36.12 
  we have flute, violin and piano -- not too bad23:37.02 
mvrhel_laptop yes one alto sax and one tenor sax23:39.00 
  plus piano23:39.05 
  got rid of the drums this past december23:39.16 
  no one was playing them23:39.21 
rayjj congratulations on that !23:39.29 
Robin_Watts My brother played the euphonium. You could hear that 3 houses away.23:39.33 
mvrhel_laptop Robin_Watts: is it fine if I look at this later tonight23:39.47 
  I am under the gun to get a couple things done here and I want to make sure I give you the right answer23:40.05 
Robin_Watts mvrhel_laptop: Sure. Any pointers to bits of code I can breakpoint or canabalise would be much appreciated.23:40.08 
mvrhel_laptop Robin_Watts: great. thanks.23:40.24 
Robin_Watts mvrhel_laptop: No worries. I'm off to bed soon, so no hurry.23:40.25 
  Thanks23:40.27 
rayjj Robin_Watts: it's getting pretty late for you anyway, isn't it ?23:40.29 
Robin_Watts 23:4023:40.36 
mvrhel_laptop I would think so23:40.37 
rayjj my youngest is off to a science camp on Catalina island this week -- frees up some time for me :-)23:41.31 
  this PM they are snorkeling in 59F water -- brr...23:42.47 
  15.2C23:43.36 
 Forward 1 day (to 2016/02/09)>>> 
ghostscript.com
Search: