| <<<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 neutral | 11: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_* functions | 11: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 tables | 11:33.33 |
| fz_bidi_direction looks at the actual character classes and returns the directionality | 11:33.50 |
| but there is weak, strong, and neutral directionality classes which complicates matters | 11:34.28 |
| hence the 'curdir' argument | 11:34.36 |
| but if you only want the raw directionality, ucd_get_bidi_class is the function you need | 11:35.12 |
| ucdn_get_bidi_class | 11:35.25 |
| ucdn is the least overkill unicode data table I've found | 11:35.59 |
| but yes, you could generate a smaller table for just the bidi class | 11: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=1 | 11: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 api | 11: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 trouble | 11:51.27 |
| so for now I handled it by interning all strings, but that is going to change when I get the time | 11: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 area | 11:52.19 |
| and are copied by value | 11:52.23 |
| then garbage collected strings, and interned strings like we have now | 11:52.37 |
avih | i think it's safest to provide a deallocator which the client could use | 11:52.41 |
tor8 | the lua interface says that the string is valid until the next lua_ call | 11:53.10 |
| which gives the C interface the opportunity to copy it if it wants to keep it | 11:53.21 |
| but imposes a minimum overhead if not | 11:53.35 |
avih | yeah, i thought about it as well, very deterministic, which is good | 11: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 graph | 11: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 call | 11:55.37 |
tor8 | avih: yeah, gc can trigger on anything really | 11:55.56 |
| especially in the face of getters and setters and implicit toString calls | 11:56.16 |
avih | yeah | 11: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 stack | 11:57.39 |
| which is really the 'real' guaranteed lifetime | 11:57.53 |
| as long as the string is still on the js stack, it's safe | 11:58.08 |
avih | right | 11:58.16 |
tor8 | and that'd be true for both gc'd strings and short value-strings | 11:58.52 |
| I imagine I'll rejig the string interning to just use gc'd and short strings internally | 11: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 stack | 11:59.44 |
tor8 | it needs careful thought, which is why I haven't implemented it yet | 11: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 list | 12:00.17 |
avih | indeed | 12:00.35 |
tor8 | guaranteed as long as it's on the stack; otherwise all bets are off -- it might go away at anytime | 12:00.50 |
avih | yes | 12:01.03 |
tor8 | especially if it's a short string, the pointer will *definitely* be invalid once the stack value is replaced with another value | 12:01.14 |
| since then the pointer will be to memory on the stack | 12: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 strings | 12:02.05 |
avih | for api calls which return strings? or internally? | 12:02.29 |
tor8 | short enough to fit directly in a js_Value | 12: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 table | 12:03.01 |
avih | how many chars would fit in js_value? | 12:03.02 |
tor8 | 12 bytes | 12: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 overhead | 12:03.57 |
avih | so the latter is also speed :) | 12:04.08 |
nsz | and memory | 12:04.26 |
tor8 | not having to chase a pointer is hopefully going to save a lot of cache misses | 12:04.30 |
nsz | and dirty pages | 12:04.41 |
tor8 | and the majority of property names are shorter than 11 characters | 12: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 alignment | 12:05.59 |
avih | anyway, while it could be nice execution wise, clients can't count on this behavior imo | 12:06.13 |
tor8 | with a bit of rejigging it could fit 15 bytes of inline string data | 12: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 stack | 12:07.35 |
| then nothing will break in the future | 12:07.41 |
avih | right | 12:07.47 |
| sounds good | 12:07.50 |
Robin_Watts_ | marcosw: ping | 13:45.25 |
marcosw | Robin_Watts_: morning | 13:45.34 |
Robin_Watts_ | Henry supposedly set up so-commit (or so-commits) @ ghostscript.com | 13: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 config | 13:48.16 |
| I guess we should use so-commits@ with the plural s | 13:48.35 |
marcosw | it is so-commit | 13:48.58 |
| at least currently | 13: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 it | 13: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 stack | 13:50.18 |
marcosw | ^no^now | 13:50.28 |
avih | oh | 13:50.28 |
tor8 | if you want to change the value of obj.x you need to use js_setglobal | 13:50.30 |
pedro_mac | marcosw: that would be handy if its not too much hassle | 13:50.42 |
tor8 | the stack does not remember the source of a value on the stack | 13: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, thanks | 13:51.40 |
marcosw | btw, when was that address set up? I think it was after joseph@artifex | 13:51.57 |
avih | i.e. like with js calls? | 13:52.39 |
tor8 | avih: not sure I understand what you mean | 13: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 meant | 13: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.x | 13:54.07 |
| it does not get a pointer to obj.x | 13:54.22 |
| so the value of obj.x is what gets pushed, not the address of obj.x | 13:54.31 |
avih | so if x itself is a big object with properties, and i add or modify an existing property of x | 13: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 value | 13:55.36 |
| say i have at the global scope var x = {a:1, b:2}; | 13:57.04 |
tor8 | if obj.x is another object | 13:57.06 |
| then you get a pointer to that object | 13:57.13 |
| but not a pointer to the property x of the other object | 13: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 = 5 | 13: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 pop | 14: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 stack | 14:03.02 |
avih | ah.. no, i'm at the basics still ;) thx | 14: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 returned | 14:04.39 |
avih | yes | 14: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 stack | 14: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 iCloud | 14: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 instance | 14: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 it | 14: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 people | 14:26.00 |
avih | heh, unfortunately, and luckily for the nsa, i guess | 14:26.21 |
tor8 | but this could be a bit of a surprising gotcha for less computer literate folks | 14: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, IMO | 14:27.48 |
chrisl | Repeat after me: "Apple is Good, Apple is Right........" | 14:28.01 |
avih | that's an understatement imo | 14: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 test | 14: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 | global | 14:32.55 |
avih | tor8: so do/load string/file always gets a global context? | 14:33.43 |
tor8 | same as calling "new Function()" in js | 14:33.48 |
avih | right | 14:33.52 |
| that's good. | 14:34.05 |
henrys_ | marcosw: did you fix so-commit? What was it? | 14:34.27 |
fredross-perry | good morning | 14:35.19 |
kens | Morning | 14:35.24 |
henrys_ | fredross-perry: hope you had a good vacation | 14: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 -o | 14: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 either | 14:39.29 |
| fredross-perry : yes, the text is not text, its images | 14:39.41 |
fredross-perry | well, that would explain that. | 14:39.52 |
kens | Because -dNOCACHE I believe | 14: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 device | 14: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 scope | 14:42.48 |
kens | chrisl, I've no idea if that's now been done | 14:42.48 |
avih | yes | 14: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 execution | 14:43.06 |
marcosw | at so-commit | 14:43.09 |
avih | hmm | 14:43.16 |
kens | fredross-perry : I htink that's a question for henry and maybe michael too | 14: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 printing | 14:43.48 |
henrys_ | fredross-perry: it was only imagined xps output would be used for printing | 14:43.51 |
tor8 | avih: you have access to the global scope, but variables may be shadowed by local variables in the calling scope | 14: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 fixable | 14:44.07 |
| avih: yes, they all end up calling the same function to create the script object | 14:44.21 |
henrys_ | fredross-perry: printing only on windows | 14: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 functionality | 14: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 api | 14: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 output | 14: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, IIRC | 14: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 not | 14: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 function | 14: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 errors | 14:51.21 |
fredross-perry | all right then. Thanks. | 14:51.51 |
tor8 | avih: the scoping situation for loaded/compiled code in js is rather unspecified | 14:53.24 |
avih | ok | 14:53.33 |
tor8 | but it's an easy fix to make the scope for js_do/load* always be the global object | 14: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 useful | 14:56.03 |
| ermm.. s/either/both/ | 14:56.18 |
tor8 | dynamic scoping is Evil^TM | 14: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 js | 14:59.54 |
tor8 | if javascript had a better concept of scoping, doing modules wouldn't be so painful | 15:00.37 |
| as it is, they're always wrapped in an anonymous function to get their own private scope | 15: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 work | 15: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 now | 15: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 effect | 15:14.56 |
avih | tor8: so js_loadeval gets the dynamic scope and loadstring gets the global one? | 15:16.07 |
tor8 | yes | 15:16.15 |
avih | cool. /me checking if loadevel is part of the api | 15:16.30 |
tor8 | it's private, you shouldn't use it | 15: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 execution | 15:18.23 |
avih | that's probably true | 15: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 cases | 15: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 elaborate | 15: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 | heh | 15:22.19 |
| so i'm glad it IS well defined now | 15: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 license | 16:27.51 |
pathik | hello there !!! | 16:27.58 |
kens | I gues he didn't like the answer | 16:28.57 |
chrisl | Or didn't understand it.... | 16:29.18 |
kens | :-) | 16:29.23 |
| Hmm, I just got an SOT commit message | 16:40.24 |
| Eitgher someone subscribed me to the so-commits list, or its going wider than expected | 16: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 mind | 17: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 all | 17: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.c | 17:47.04 |
mvrhel_laptop | oh good. maybe I will take a break from SOT fun and get that loose end tied up | 17: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.pdf | 19: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/issues | 19:11.08 |
dinamic_ | ah | 19:11.24 |
| never knew about that issue tracker :) | 19:11.32 |
| thanks | 19: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 2 | 19: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 code | 21: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 used | 21:10.20 |
| nice.. i have a patch for booleans and null too | 21:31.55 |
| avih, I made a pr for JSON.parse issue with boolean and null values. | 21:39.55 |
avih | cool | 21:40.11 |
| thx | 21:40.13 |
| oh.. i didn't check null. nice | 21:40.23 |
dinamic_ | :) | 21:40.48 |
| now im back to my orignal project :) | 21:41.42 |
| fixes works like a charm | 21:41.50 |
| Forward 1 day (to 2014/10/28)>>> | |