IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2014/10/26)20141027 
Robin_Watts_ tor8: I need to be able to tell from a unicode char whether it's lrt, rtl or neutral11:21.26 
  You do that in mupdf, right? using the ucdn stuff?11:21.34 
tor8 Robin_Watts_: yes, see source/fitz/stext-device.c in the fz_bidi_* functions11:22.49 
Robin_Watts_ Given I only need directionality, I bet ucdn is overkill. Possibly I should use ucdn to generate me a table.11:33.01 
tor8 ucdn only looks up the character classes in the tables11:33.33 
  fz_bidi_direction looks at the actual character classes and returns the directionality11:33.50 
  but there is weak, strong, and neutral directionality classes which complicates matters11:34.28 
  hence the 'curdir' argument11:34.36 
  but if you only want the raw directionality, ucd_get_bidi_class is the function you need11:35.12 
  ucdn_get_bidi_class11:35.25 
  ucdn is the least overkill unicode data table I've found11:35.59 
  but yes, you could generate a smaller table for just the bidi class11:36.29 
avih tor8: the debug info works well, but there's at least one bug which manifests in few symptoms. it looks like it's trying to get an incorrect/previous line info on syntax (compile?) , and if there's none, then it crashes. minimal case:11:43.57 
  J = js_newstate(NULL, NULL);11:44.11 
  js_setdebug(J, 1);11:44.11 
  /js_dostring(J, ")", 0); // <-- crashes with setdebug=111:44.11 
  a work around would be to execute a valid string (such as ";0;") right after setdebug, which will make sure there's a line info to grab in case of following compile errors. though it probably should be fixed ;)11:47.26 
tor8 avih: it doesn't behave correctly, but odd that it crashes, though.11:48.02 
  avih: regarding your string lifetime question from last week--11:48.19 
avih it doesn't crash for you?11:49.27 
tor8 all strings are currently interned and kept around forever; the TODO is to a) allow for garbage collected non-interned strings, and b) write the docs for how scary this is in the C api11:49.31 
avih yeah, it is scary, though you could also allow the client to deallocate the string somehow and maybe not gc it.11:50.51 
  but yeah.. it's scary :)11:50.57 
tor8 ownership handling of strings in interfaces is a big spot for making trouble11:51.27 
  so for now I handled it by interning all strings, but that is going to change when I get the time11:51.44 
  I plan to make three string types -- short strings (8-byte or so) that fit in a js_Value without needing a separate allocation area11:52.19 
  and are copied by value11:52.23 
  then garbage collected strings, and interned strings like we have now11:52.37 
avih i think it's safest to provide a deallocator which the client could use11:52.41 
tor8 the lua interface says that the string is valid until the next lua_ call11:53.10 
  which gives the C interface the opportunity to copy it if it wants to keep it11:53.21 
  but imposes a minimum overhead if not11:53.35 
avih yeah, i thought about it as well, very deterministic, which is good11:53.37 
Robin_Watts_ tor8: Can strings be reference counted?11:54.15 
  That way if you had a string to a caller, they can either use it and have it disappear on the next call, or they can bump the reference count to protect against that.11:54.52 
tor8 Robin_Watts_: that could work too, given that they're not going to be in a circular dependency graph11:54.59 
avih and i agree that my suggestion of "till gc" is not very good. since it could happen, at the "worst" case right at the next api call11:55.37 
tor8 avih: yeah, gc can trigger on anything really11:55.56 
  especially in the face of getters and setters and implicit toString calls11:56.16 
avih yeah11:56.17 
  or possiby even _at_ the command which returned a string ;)11:56.55 
tor8 avih: not a problem as long as the returned string still sits on the stack11:57.39 
  which is really the 'real' guaranteed lifetime11:57.53 
  as long as the string is still on the js stack, it's safe11:58.08 
avih right11:58.16 
tor8 and that'd be true for both gc'd strings and short value-strings11:58.52 
  I imagine I'll rejig the string interning to just use gc'd and short strings internally11:59.20 
avih so that could be a good definition then. a string lives as long as it's on the stack and otherwise till the next api call or next gc. but the guarantee is being at the stack11:59.44 
tor8 it needs careful thought, which is why I haven't implemented it yet11:59.45 
  but it could pose a nasty memory problem if you're doing a lot of text processing, so it's pretty high on the priority list12:00.17 
avih indeed12:00.35 
tor8 guaranteed as long as it's on the stack; otherwise all bets are off -- it might go away at anytime12:00.50 
avih yes12:01.03 
tor8 especially if it's a short string, the pointer will *definitely* be invalid once the stack value is replaced with another value12:01.14 
  since then the pointer will be to memory on the stack12:01.20 
avih how come there's a distinction with "short" strings? what's short?12:01.51 
tor8 avih: the plan is to avoid malloc'ing short strings12:02.05 
avih for api calls which return strings? or internally?12:02.29 
tor8 short enough to fit directly in a js_Value12:02.32 
  the plan is to store the string inside the js_Value rather than a pointer to a string kept in gc'd memory or the string interning table12:03.01 
avih how many chars would fit in js_value?12:03.02 
tor8 12 bytes12:03.31 
avih hmm.. what do you save with this?12:03.33 
  mallocs i.e. speed? or also management?12:03.45 
tor8 speed and reduced gc overhead12:03.57 
avih so the latter is also speed :)12:04.08 
nsz and memory12:04.26 
tor8 not having to chase a pointer is hopefully going to save a lot of cache misses12:04.30 
nsz and dirty pages12:04.41 
tor8 and the majority of property names are shorter than 11 characters12:04.54 
  (need to save one for the zero termination)12:05.09 
avih would js_value need to increase in order to hold 12 bytes? or does it have this space already anyway?12:05.21 
tor8 avih: js_Value is a tagged union, which contains a double so needs 8-byte alignment12:05.59 
avih anyway, while it could be nice execution wise, clients can't count on this behavior imo12:06.13 
tor8 with a bit of rejigging it could fit 15 bytes of inline string data12:06.16 
avih )re string lifetime)12:07.00 
tor8 avih: program as if the lifetime of returned strings is limited by them living on the stack12:07.35 
  then nothing will break in the future12:07.41 
avih right12:07.47 
  sounds good12:07.50 
Robin_Watts_ marcosw: ping13:45.25 
marcosw Robin_Watts_: morning13:45.34 
Robin_Watts_ Henry supposedly set up so-commit (or so-commits) @ ghostscript.com13:45.46 
  The idea being that when we push to git, we'd get the commit messages on that.13:46.17 
  I pushed to golden this morning, and I've just got a bounce message saying that so-commit doesn't exist.13:47.00 
  Can you check that the address is correct please?13:47.12 
tor8 Robin_Watts_: oh, should it be so-commits@ ?13:47.45 
Robin_Watts_ I just sent a test mail to that and it failed too :)13:47.58 
tor8 right. just let me know which one it is, and I'll edit the config13:48.16 
  I guess we should use so-commits@ with the plural s13:48.35 
marcosw it is so-commit13:48.58 
  at least currently13:49.03 
kens chrisl is the documentation in the FAQ about silent installation on WIndows correct ?13:49.13 
avih tor8: if i set a property of an object on the stack (say, after js_getglobal(J, "x") and then pushing some value to the stack), do i need to also js_setglobal(J, "x")? or would js_pop(J, 1) be enough since the stack only has a reference to x?13:49.16 
chrisl kens: AFAIK, it is - it's a while since I tried it13:50.16 
marcosw btw, I noticed there is no a pete@artifex.com email address. Do I want to change all of the mailing lists to use that instead of the other one?13:50.16 
tor8 js_getglobal will copy the value stored in obj.x to the stack13:50.18 
marcosw ^no^now13:50.28 
avih oh13:50.28 
tor8 if you want to change the value of obj.x you need to use js_setglobal13:50.30 
pedro_mac marcosw: that would be handy if its not too much hassle13:50.42 
tor8 the stack does not remember the source of a value on the stack13:50.50 
kens chrisl, thanks. I've pointed out to the twit on SO that expecting currently documented behaviour from 5 year old versions of the Ghostscript installer is dumb.13:51.08 
marcosw pedro_mac: no big deal, I'll add you the everybody@ email address as well (assuming no one else has done it).13:51.17 
avih tor8: why doesn't getglobal push a reference?13:51.28 
  (or any otehr get)13:51.36 
pedro_mac marcosw: great, thanks13:51.40 
marcosw btw, when was that address set up? I think it was after joseph@artifex13:51.57 
avih i.e. like with js calls?13:52.39 
tor8 avih: not sure I understand what you mean13:52.59 
avih copy could be expensive if the object is big...13:53.03 
tor8 right, I think you might have misunderstood what I meant13:53.36 
avih the fact that you don't understand my question hints that mybe my understanding is lacking. let me rethink it.13:53.46 
marcosw the odd thing is that I only see one user increase in the billing system, which was joseph@, so did pete@ replace someone else?13:53.59 
tor8 getglobal on obj.x will get the value stored in obj.x13:54.07 
  it does not get a pointer to obj.x13:54.22 
  so the value of obj.x is what gets pushed, not the address of obj.x13:54.31 
avih so if x itself is a big object with properties, and i add or modify an existing property of x13:54.51 
  do i need to push it back as x?13:54.58 
tor8 an example: obj.x += 5.13:55.20 
avih no, this implies x is a value13:55.36 
  say i have at the global scope var x = {a:1, b:2};13:57.04 
tor8 if obj.x is another object13:57.06 
  then you get a pointer to that object13:57.13 
  but not a pointer to the property x of the other object13:57.36 
avih and i do getglobal(J, "x"), then pushnumber(J, 5), then setproperty(J, "c")13:57.47 
tor8 then you've done obj.x.c = 513:58.04 
avih do i need setglobal(J, "x")? or would pop(J, 1) be enough such that the js code sees x.c as 5?13:58.37 
tor8 obj.x.c is 5 as soon as you've called setproperty("c")13:59.46 
avih right, that's what i asked. so pop 1 would be enough then. cool.14:00.04 
tor8 just beware that setproperty does an implicit pop14:00.22 
  so you don't need to pop the '5' but you will want to pop the 'x'14:00.51 
avih yes, hence my question if pop 1 would be enough (to get x off the stack)14:01.23 
tor8 avih: right. I thought you meant something more sinister (the JS specification has a lot of talk about 'references' to properties, etc, just to specify the behaviour independently of the implementation)14:02.01 
avih and of course, at the above example, setproperty(J, -2, "c")14:02.13 
tor8 getglobal(J, "obj"); getproperty(J, -1, "x"); pushnumber(5); setproperty(J, -2, "c"); pop(1);14:02.56 
  and then you're left with 'obj' on the stack14:03.02 
avih ah.. no, i'm at the basics still ;) thx14:03.03 
marcosw pedro_mac: I saw an email from jogux re. the switch to Xcode 6.1. Are we also switching the ATS to Yosemite?14:03.59 
avih right, and after i pop "obj", the js code will see obj.x.c as 5.14:04.01 
tor8 avih: strictly speaking, the js code will see obj.x.c as 5 as soon as setproperty("c") has returned14:04.39 
avih yes14:04.45 
  i was trying to rephrase, but i get it :)14:04.53 
tor8 there's nothing magic (except for keeping returned string pointers alive) about an object on the stack14:05.26 
avih well.. nothing is magic if you know how it works ;)14:05.49 
pedro_mac marcosw: I suspect we will at some point, but I’d guess it makes sense to wait and see how stable yosemite is before upgrading 14:06.35 
marcosw pedro_mac: np. 14:07.14 
pedro_mac jogux has installed it on a couple of machines so he’ll likely have some opinion on that in a short time :)14:08.49 
Robin_Watts_ Yosemite has been working fine for me here, but then I haven't been stretching it.14:13.40 
tor8 just don't use Yosemite for any sensitive information ... in autosaves everything you do on iCloud14:15.24 
Robin_Watts_ tor8: Urm... "everything" ?14:15.50 
tor8 https://datavibe.net/~sneak/20141023/wtf-icloud/14:16.22 
  anything you edit in TextEdit for instance14:16.32 
avih ^ ouch.. seriously?14:20.25 
  (i got Yosemite installed...)14:20.42 
  (nothing real sensitive on this laptop but if it's what it sounds like, then it's a serious wtf indeed)14:22.13 
Robin_Watts_ So... disable icloud.14:23.37 
avih i don't htink i ever enabled it14:24.33 
tor8 if we're going for all-or-nothing solutions, might as well disable macosx ;)14:24.55 
avih :)14:25.05 
  i only use this system for some tests and for travel. it's not my main machine, but still...14:25.23 
tor8 most apple fanatics have already given over their entire lives to apple and facebook, so I gather it doesn't make much difference for most people14:26.00 
avih heh, unfortunately, and luckily for the nsa, i guess14:26.21 
tor8 but this could be a bit of a surprising gotcha for less computer literate folks14:26.26 
kens "if you've nothing to hide, then you've nothgin to fear"......14:27.00 
avih :)14:27.07 
  "it's to prevent pedophilia"14:27.28 
tor8 automatically uploading unsaved text edit documents to the cloud seems a bit irresponsible, IMO14:27.48 
chrisl Repeat after me: "Apple is Good, Apple is Right........"14:28.01 
avih that's an understatement imo14:28.05 
  so how do i disable icloud?14:28.25 
kens Google will be doing it too soon, in order to server you a better class of advert, more tailored to what you are doing.....14:28.38 
avih just never give it icloud credentials? (i haven't)14:28.46 
kens "It looks like you're trying to write a letter, here are some letter writing services you might be interested in"14:29.12 
avih what about apple id? would it sync using these credentials?14:29.13 
tor8 kens: oh, but google has done that since they released google docs. but there, it's sort of assumed since it's already in the cloud.14:29.15 
kens doesn't use Google Docs :-)14:29.38 
tor8 kens: oh, that would've been doing the world a favor :)14:29.50 
  though I think you'd prefer an "It looks like you're trying to write a bug report" or "It looks like you're trying to ask a question on stack overflow" ;)14:30.25 
avih :)14:30.36 
kens The latter should be disabled til you pass a test14:30.44 
avih tor8: if js calls a c function, and that c function does do/load string/file, what's the lexical context of the code inside the string? global?14:32.18 
tor8 global14:32.55 
avih tor8: so do/load string/file always gets a global context?14:33.43 
tor8 same as calling "new Function()" in js14:33.48 
avih right14:33.52 
  that's good.14:34.05 
henrys_ marcosw: did you fix so-commit? What was it?14:34.27 
fredross-perry good morning14:35.19 
kens Morning14:35.24 
henrys_ fredross-perry: hope you had a good vacation14:35.48 
marcosw henrys_: I didn't change so-commit. what's wrong with it (there was some question if it should be so-commit or so-commits, but I'm not sure if consensus was reached so I didn't change it).14:36.00 
fredross-perry yes it ws swell, thansk.14:36.04 
  And, thanks.14:36.15 
henrys_ marcosw: Robin_Watts_ said neither address works ...14:36.31 
marcosw oh, no one mentioned that to me. I'll look at the settings.14:36.51 
fredross-perry I have a question today. I am working through the different SaveAs options for gsview. To do XPS, I tried doing “gs -dNOPAUSE -dBATCH -dNOCACHE -sDEVICE=xpswrite -o newFile.xps -f originalFile.pdf”.14:37.45 
henrys_ marcosw: I do have the permissions a bit different but I can't see how that would matter.14:37.53 
kens fredross-perry : -o includes -dBATCH and -dNOPAUSE so you don't need those if you use -o14:38.52 
fredross-perry I get a file, but it feels as though the text has been rendered as not-text. The file is large and each page is very slow to render.14:39.28 
marcosw henrys_: it looks like only members of the group can post to it, which won't work if we have posts coming from git.14:39.28 
kens But they won't do any harm either14:39.29 
  fredross-perry : yes, the text is not text, its images14:39.41 
fredross-perry well, that would explain that.14:39.52 
kens Because -dNOCACHE I believe14:39.52 
fredross-perry if I remove -dNOCACHE, what would happen?14:40.17 
chrisl More because xpswrite doesn't support "text"14:40.20 
fredross-perry or, is this a use case tat the user needs to be warned of?14:40.38 
henrys_ marcosw: go ahead and change it.14:40.38 
kens Also, I believe xpswrite is dumb about images, so they come out as bazillions of rectangles (unless that's been fixed)14:40.40 
fredross-perry no, I don’t think that’s been fixed either.14:40.55 
kens chrisl, yes true, xpswrite i nopt a very high high-lvel device14:41.00 
  s /i nopt/is not/14:41.45 
marcosw henrys_: done. so-commit or so-commits?14:42.16 
chrisl I thought horizontal and vertical images should end up as TIFFs now?14:42.19 
fredross-perry So either (a) there is another way, or (b) we leave it but warn the user? or (c) we don’t include XPS output for gsview?14:42.24 
tor8 avih: actually, I take that back!14:42.31 
avih ?14:42.39 
henrys_ marcosw: tor8 has so-commit in the git repo now, but I don't care much.14:42.47 
tor8 avih: new Function() runs with the global scope14:42.48 
kens chrisl, I've no idea if that's now been done14:42.48 
avih yes14:42.54 
marcosw let's leave it then.14:43.03 
tor8 but loadstring creates a 'script' object, which (like eval) runs in the current scope at the time of execution14:43.06 
marcosw at so-commit14:43.09 
avih hmm14:43.16 
kens fredross-perry : I htink that's a question for henry and maybe michael too14:43.16 
chrisl fredross-perry: I'd leave it out of the "save-as" options, and only use it (for now) when you get to printing14:43.48 
henrys_ fredross-perry: it was only imagined xps output would be used for printing14:43.51 
tor8 avih: you have access to the global scope, but variables may be shadowed by local variables in the calling scope14:43.51 
avih tor8: that's for all variants of [p] do/load string/file ?14:43.59 
tor8 not the best design, but it should be trivially fixable14:44.07 
  avih: yes, they all end up calling the same function to create the script object14:44.21 
henrys_ fredross-perry: printing only on windows14:44.42 
fredross-perry similar question for HTML output then. There is a Save As option for it, but it looks like the result you get is the same as saving text. I’ll check that today.14:45.26 
avih tor8: actually, the current design might allow both, maybe by first putting the global scope on the stack? but if it always runs at the global scope then it might limit applications. but i didn't think enough about it to be sure.14:46.04 
tor8 avih: always running with the global scope is the desired functionality14:46.32 
  but I need to be able to run in the current dynamic scope to support eval()14:46.42 
  it's a matter of separating the function call by eval from the public api14:47.09 
kens fredross-perry : its possible that the text output is using MuPDF's 'xml' output setting. The Ghostscript version can do plain text as well as XML-alike, but I don't think MuPDF does. So its not HTML, its XML, it just looks similar. I've no idea if MuPDF does real HTML output14:47.12 
avih so will you support both?14:47.13 
henrys_ fredross-perry:do you mean svg?14:47.22 
fredross-perry no, not SVG.14:47.52 
tor8 the bigger question right now is, why would you want to call do/loadstring from a c function called from a js function?14:48.09 
avih (the case i have in mind right now is implement 'require' in such a way that it can report file names, so i'm trying to understand the mechanics of the do/load functions)14:48.32 
tor8 marcosw: henrys_: I probably mistyped when I entered it as 'so-commit'14:48.44 
chrisl fredross-perry: the HTML output for mupdf was mainly for a slightly hacky solution to text reflow, IIRC14:49.10 
tor8 but it's a hassle to change on your end, let's leave it. it takes me a grand total of 2 seconds to change on my side.14:49.12 
avih tor8: ^ because loadstring supports a file name, while Function does not14:49.23 
  (at least some of the variants do, like ploadstring)14:49.54 
henrys_ fredross-perry: I think we want to be conservative with Save-As - maybe PDF and PostScript should be sufficient for now.14:50.01 
tor8 avih: in main.c there's an example of require() that also uses an added read() builtin function14:50.21 
avih tor8: yes, but on errors it shows "Function: xxyy error..."14:50.50 
  i want it to show file names. so i can hack it on compile errors, but i can't for runtime errors14:51.21 
fredross-perry all right then. Thanks.14:51.51 
tor8 avih: the scoping situation for loaded/compiled code in js is rather unspecified14:53.24 
avih ok14:53.33 
tor8 but it's an easy fix to make the scope for js_do/load* always be the global object14:53.52 
avih well.. well defined is always better than unspecified :)14:54.56 
  though i still think that if it could support either eval or Function style context then it might be more useful14:56.03 
  ermm.. s/either/both/14:56.18 
tor8 dynamic scoping is Evil^TM14:59.27 
avih because do/load string could provide a file name such that errors are associated with it rather than with "Function" or "eval". this is useful for implementations such as require, and can't be done from inside js14:59.54 
tor8 if javascript had a better concept of scoping, doing modules wouldn't be so painful15:00.37 
  as it is, they're always wrapped in an anonymous function to get their own private scope15:00.58 
avih i guess. TBH i never read the modules spec (i started just now to understand the required scope), so i'm not quite sure how it should work15:01.27 
tor8 as a workaround for eval() being dynamically scoped and broken. and eval's scoping in ES5 depends on the 'use strict' setting (which we don't support)15:01.35 
avih yes, they are (wrapped in a function scope)15:02.03 
tor8 avih: scoping changes are on master now15:14.22 
  c function theoretically run with the dynamic scope, but since they can't access the current scope (js_getvar is private) that has no effect15:14.56 
avih tor8: so js_loadeval gets the dynamic scope and loadstring gets the global one?15:16.07 
tor8 yes15:16.15 
avih cool. /me checking if loadevel is part of the api15:16.30 
tor8 it's private, you shouldn't use it15:16.41 
avih so is there a public api for dynamic scope execution?15:17.49 
tor8 js_dostring("eval()") ;)15:18.09 
avih :)15:18.19 
tor8 nobody in their sane mind should want dynamic scope execution15:18.23 
avih that's probably true15:18.37 
  though that's the first time i'm trying to embed js myself, so i'm not fully aware of all potential application cases15:19.08 
  tor8: wait, dostring("eval('x=7')") would not get dynamic scope, since dostring itself gets the global scope, isn't it so?15:20.11 
tor8 true, you'd need to be more elaborate15:21.02 
  or well, no. true, period.15:21.44 
avih yeah. that's ok with what i had in mind (require), so i'm glad it's not well defined.15:22.13 
tor8 it's all theoretical anyway, nobody wants it :)15:22.15 
avih heh15:22.19 
  so i'm glad it IS well defined now15:22.36 
pathik hello any one here ?16:25.40 
chrisl Nope ;-)16:26.02 
pathik what kind of this group ?16:26.33 
  any one tell me about mupdf . i could use in my app?16:27.13 
  i could use mupdf in my app?16:27.32 
chrisl Subject to the license16:27.51 
pathik hello there !!!16:27.58 
kens I gues he didn't like the answer16:28.57 
chrisl Or didn't understand it....16:29.18 
kens :-)16:29.23 
  Hmm, I just got an SOT commit message16:40.24 
  Eitgher someone subscribed me to the so-commits list, or its going wider than expected16:40.47 
henrys_ I put everyone on so-commit if you want to filter them it's very easy to do.16:51.44 
Robin_Watts_ "The ghostpdl branch, master has been updated"16:52.13 
  hmm....16:52.15 
henrys_ Robin_Watts_: yes I noticed that.16:52.25 
Robin_Watts_ fixed.16:53.08 
kens thought we had agreed not to subscribe everyone to so-commit, ah well :-(16:58.19 
henrys_ no I said I thought everyone should keep up with it.16:59.22 
Robin_Watts_ kens: I thought we'd agreed that everyone would be subscribed, but that it would be made easy for people to filter it off.17:00.24 
  and I think that's what's happened.17:00.33 
kens I cna filter itno matter what, but I'd prefer not to bother getting it in the first place. Never mind17:01.02 
  I guess henrys comment that he 'wouldn't nag that everyone should be on the list' was what confused me, I hadn't twigged that he wouldn't nag because he'd just subscribe us all regardless ;-)17:03.58 
henrys_ marcosw: I'll look at the XPS problems but we did agree to just test the subset didn't we?17:08.21 
kens OK enough for today, goodnight all17:11.29 
marcosw henrys_: I thought I was supposed to test the PDF_1.7_FTS files. Was it supposed to be a subset of those?17:39.23 
henrys_ PDFIA1.7_SUBSET was what I was thinking but I guess what you have is fine.17:40.52 
  Does it complete?17:40.56 
  marcosw: ^^^17:41.45 
marcosw I can test with the PDFIA1.7_SUBSET files instead, but PDF FTS is what my notes from the chicago meeting say.17:43.59 
henrys_ marcosw: fts should be fine, can michael submit his change now?17:44.56 
marcosw yes, the fts files complete with no errors and only the three bugs I've entered.17:45.05 
henrys_ and have it be regression tested.17:45.05 
  ?17:45.06 
  super!17:45.14 
marcosw sort of, only the nightly/weekly regression tests for xps are up, the commit/clusterpush tests are not ready yet.17:45.52 
henrys_ mvrhel_laptop: I think you have to merge a bit, kens made a change to gdevxps.c17:47.04 
mvrhel_laptop oh good. maybe I will take a break from SOT fun and get that loose end tied up17:47.40 
fredross-perry I have a PDF file where some pages have images and text side-by-side. When I convert that document to PS, those pages appear to be rendered as a single image. Other pages that are either all text, or where images are above or below text, seem to be fine. Is this a known thing?18:52.40 
henrys_ fredross-perry: you are using the ps2write device?18:53.52 
Robin_Watts_ fredross-perry: Is there any transparency used within the file?18:54.22 
  Transparency can't be nicely represented in postscript, so if you convert a PDF file that uses it, gs has to convert (at least that section that involves transparency) into a bitmap.18:55.23 
  So what you are seeing might be entirely expected.18:55.33 
fredross-perry I’m not sure if there is transparency, how do I check? Yes, I am using ps2write.18:58.36 
Robin_Watts_ fredross-perry: Put the file somewhere we can see it?18:59.19 
fredross-perry http://www.ross-perry.com/CM%20District%20Admin%20Overview.pdf19:02.43 
Robin_Watts_ And what page goes wrong?19:03.15 
dinamic_ tor8: I found 2 failures with JSON.parse() implementation, '{"bool": false}' and '{"empty" :[]}'19:07.56 
  tor8: in the first case it seems like the lexer lacks boolean parsing ? :/19:08.15 
sebras_ dinamic_: if tor8 doesn't respond immediately it is probably a good idea to report these things as issues in the mujs bugtracker: https://github.com/ccxvii/mujs/issues19:11.08 
dinamic_ ah 19:11.24 
  never knew about that issue tracker :)19:11.32 
  thanks19:11.34 
sebras_ tor8: I think I got the right bugtracker. but we should link to either this one from mujs.com or add another package in bugzilla.19:11.58 
Robin_Watts_ sebras_: Really? We're not using bugs.ghostscript.com ?19:12.00 
sebras_ Robin_Watts_: I couldn't find any package for it there.19:12.14 
  Robin_Watts_: I am as suprised as you are.19:12.21 
  Robin_Watts_: but I figure that it is better to track them at github and forgetting about them. :)19:12.41 
fredross-perry Robin: page 219:12.59 
dinamic_ thanks sebras_ 19:15.56 
Robin_Watts_ fredross-perry: One of the images on page 2 is a jpeg with a softmask applies.19:16.17 
  s/applies/applied/19:16.23 
dinamic_ avih, already reported the boolean parser issue..19:16.25 
Robin_Watts_ Therefore transparency is used.19:16.33 
sebras_ dinamic_: np.19:16.38 
fredross-perry Got it. So for now, I won’t worry about it since this is expected.19:17.39 
sebras_ dinamic_: thanks for the patch!19:53.29 
dinamic_ sebras_, i think its the correct way to solve the issue :), did just skim thru the the lexer code21:07.15 
  i should probably fix the boolean kexer too :/21:07.31 
  its very bad it's not there..21:07.46 
  kind of strange tho, the same lexer as for js is used21:10.20 
  nice.. i have a patch for booleans and null too21:31.55 
  avih, I made a pr for JSON.parse issue with boolean and null values. 21:39.55 
avih cool21:40.11 
  thx21:40.13 
  oh.. i didn't check null. nice21:40.23 
dinamic_ :)21:40.48 
  now im back to my orignal project :)21:41.42 
  fixes works like a charm21:41.50 
 Forward 1 day (to 2014/10/28)>>> 
ghostscript.com
Search: