Re: [NTG-context] attachment attaches twice - more research

2011-02-26 Thread Hans Hagen

On 23-2-2011 12:35, Michail Vidiassov wrote:


as far as I understand ConTeXt now can not link file attachment to
arbitrary picture, just to some predefined icons. Am I right?


you can use symbols (as with fields and other widgets)


Is it going to change? Soon? There are comments in the code about
lack of measurement support for XForm - is that the issue and what
that issue is?


unrelated, more a dev note


I have already met that complaints in 3D Annotations support code.
BTW, I am interested in FileAttachment Annotations as a way to
work with 3D models. With LaTeX the main PDF file may contain a 2D picture,
that can be displayed in any PDF viewer, but if you click on it in Adobe
viewer attached PDF file opens with 3D model in it. That attached file
may be produced by some third-party tool, since often such tools output
not just 3D model fit for including in PDF, but a one-page PDF with the
3D model, complex JavaScript to control it (for example to animate it)
and some intarctive text related to the model.


I'm not sure what you mean here. There is some u3d and shockwave 
support. (I added u3d because someone asked it but the requester never 
tested it). Anyhow, these features are only extended when we (luigi and 
me) get proper public test files


Concerning attachments, the next beta will have a new definition model 
with inheritance but the \use.. method is still there as well.


The hidden method will not place an annotation. Definition is not really 
needed, so a direct \attachment works ok, but a bit of abstraction 
(separation between definition and use) does not hurt


% old but stil valid method (consistent with other \use):
%
% \useattachment[test.tex]
% \useattachment[whatever][test.tex]
% \useattachment[whatever][newname][test.tex]
% \useattachment[whatever][title][newname][test.tex]
%
% new method:
%
% \attachment[test.tex]
% \attachment[whatever1][file=test.tex]
% \attachment[whatever2][file=test.tex,method=hidden]
% \attachment[whatever3][name=newname,file=test.tex]
% \attachment[whatever4][title=mytitle,name=newname,file=test.tex]
%
% indirect
%
% \defineattachment[whatever5][file=test.tex] 
\attachment[whatever5][method=hidden]
% \defineattachment[whatever5][file=test.tex,method=hidden] 
\attachment[whatever5]

%
% direct (no definitions)
%
% \attachment[test][file=oeps.tex,title=Oeps,author=Hans,subtitle=TeX 
File,method=hidden]
% 
\attachment[label=test,file=oeps.tex,title=Oeps,author=Hans,subtitle=TeX 
File,method=hidden]

%
% autolabel:
%
% \attachment[file=oeps.tex,title=Oeps,author=Hans,subtitle=TeX 
File,method=hidden]

%
% % \setupattachments[\c!symbol={symbol-normal,symbol-down}]

Hans

-
  Hans Hagen | PRAGMA ADE
  Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
 | www.pragma-pod.nl
-
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___


Re: [NTG-context] attachment attaches twice - more research

2011-02-23 Thread Michail Vidiassov

Dear Hans,

On Mon, 21 Feb 2011, Hans Hagen wrote:

i'll patch lpdf-wid but somehow I get the impression that it's more a viewer 
issue (the list shown seems to be a merge of filename as well as symbolic 
names while a clever list builder should look at the referred objects) ... 
but maybe no one else usesvdifferent symbolic names (we had similar issues 
with fields in the past and even now advanced field support is somewhat 
bugged one or the other way, depending on the viewer version, esp chained 
ones)


to say the truth I do not understand what are you talking about :(
The issues I have in mind - separating global attachments and attachments 
linked to icons on pages, additional descriptions for attached files -

are addressed in the attached patches.
I am not sure about using attachment lebel as T key, that is indended for 
following:
The text label that shall be displayed in the title bar of the annotation’s 
pop-up window when open and active. This entry shall identify the user who 
added the annotation.

and shows as the upper line when mouse pointer is above attachment icon.
Did not try to have file size and time information added to file stream -
but it'd be nice to have.

Sincerely, Michail
PS. Patches show what I want done, not how it is to be done.
Just hope that my lua may be more clear than my English.--- back-ini.lua.org2011-02-16 01:53:17.0 +0300
+++ back-ini.lua2011-02-23 09:17:50.0 +0300
@@ -67,6 +67,7 @@
 registercomment= nothing,
 
 embedfile  = nothing,
+globattachfile = nothing,
 attachfile = nothing,
 attachmentid   = nothing,
 
--- scrn-int.mkiv.org   2011-01-31 13:26:23.0 +0300
+++ scrn-int.mkiv   2011-02-23 12:34:22.0 +0300
@@ -405,6 +405,25 @@
 % % \setupattachments[\c!symbol={symbol-normal,symbol-down}]
 %
 % \starttext \attachment[whatever] \stoptext
+%
+% \globattachment[test.tex]
+% \globattachment[description][test.tex]
+% \globattachment[description][newname.tex][test.tex]
+
+\def\globattachment
+  {\dotripleempty\doglobattachment}
+
+\def\doglobattachment[#1][#2][#3]% description newfilename filename
+  {\ifthirdargument
+ \dodoglobattachment{#1}{#2}{#3}%
+   \else\ifsecondargument
+ \dodoglobattachment{#1}{}{#2}%
+   \else
+ \dodoglobattachment{}{}{#1}%
+   \fi\fi}
+
+\def\dodoglobattachment#1#2#3% description newfilename filename
+  
{\ctxlua{backends.codeinjections.globattachfile{description=#1,newname=#2,filename=#3}}}
 
 \def\useattachment
   {\doquadrupleempty\douseattachment}
--- lpdf-wid.lua.org2011-02-08 22:41:44.0 +0300
+++ lpdf-wid.lua2011-02-23 12:27:53.0 +0300
@@ -160,14 +160,14 @@
 
 --
 
-local nofattachments, attachments, filestreams = 0, { }, { }
+local nofattachments, attachments, filestreams, globfilestreams = 0, { }, { }, 
{ }
 
 -- todo: hash and embed once
 
 local function flushembeddedfiles()
-if next(filestreams) then
+if next(globfilestreams) then
 local e = pdfarray()
-for name, reference in next, filestreams do
+for name, reference in next, globfilestreams do
 if reference then
 e[#e+1] = pdfstring(name)
 e[#e+1] = reference -- already a reference
@@ -181,7 +181,7 @@
 
 lpdf.registerdocumentfinalizer(flushembeddedfiles,embeddedfiles)
 
-function codeinjections.embedfile(filename)
+function codeinjections.embedfile(filename,newname,description)
 local r = filestreams[filename]
 if r == false then
 return nil
@@ -201,12 +201,28 @@
 UF   = pdfstring(newname or basename),
 EF   = pdfdictionary { F = pdfreference(f) },
 }
+if description then
+d[Desc] = pdfstring(description)
+end
 local r = pdfreference(pdfflushobject(d))
 filestreams[filename] = r
 return r
 end
 end
 
+function codeinjections.globattachfile(specification)
+local filename = specification.filename
+if not filename or filename ==  then
+-- todo: message
+return
+end
+local description = specification.description or 
+local newname = specification.newname or 
+if description ==  then description = nil end
+if newname ==  then newname = nil end
+globfilestreams[filename] = 
codeinjections.embedfile(filename,newname,description)
+end
+
 function codeinjections.attachfile(specification)
 local attachment = interactions.attachments.attachment(specification.label)
 if not attachment then
@@ -239,6 +255,7 @@
 AP   = appearance,
 OC   = analyzelayer(specification.layer),
 C= 
pdfcolorspec(specification.colormodel,specification.colorvalue),
+T= pdfstring(label),
 }
 -- as soon as we can ask for the dimensions of an xform we can
 -- use them here
___
If 

Re: [NTG-context] attachment attaches twice - more research

2011-02-23 Thread Hans Hagen

On 23-2-2011 11:21, Michail Vidiassov wrote:


to say the truth I do not understand what are you talking about :(


Attachments have some history in pdf and each version was slightly 
different. The same is true for widgets. Some of that has to do with 
security issues, some with the fact that acrobat editing interfaces 
always lag behind new features, etc. I gave up on advanced stuff when I 
noticed that custom visualizations had changed again. I'll have look at 
it but not this week (away for a few days). I also need to it with Luigi 
as he often has torture tests laying around. We also need to keep the 
a/x standards in mind.


Hans

-
  Hans Hagen | PRAGMA ADE
  Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
 | www.pragma-pod.nl
-
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___


Re: [NTG-context] attachment attaches twice - more research

2011-02-23 Thread Michail Vidiassov

Dear Hans,

On Wed, 23 Feb 2011, Hans Hagen wrote:


Attachments have some history in pdf and each version was slightly different.


as far as I understand ConTeXt now can not link file attachment to 
arbitrary picture, just to some predefined icons. Am I right?

Is it going  to change? Soon? There are comments in the code about
lack of measurement support for XForm - is that the issue and what
that issue is?
I have already met that complaints in 3D Annotations support code.
BTW, I am interested in FileAttachment  Annotations as a way to
work with 3D models. With LaTeX the main PDF file may contain a 2D picture,
that can be displayed in any PDF viewer, but if you click on it in Adobe 
viewer attached PDF file opens with 3D model in it. That attached file may 
be produced by some third-party tool, since often such tools output not 
just 3D model fit for including in PDF, but a one-page PDF with the 3D 
model, complex JavaScript to control it (for example to animate it) and 
some intarctive text related to the model.


 Sincerely, Michail

___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___


Re: [NTG-context] attachment attaches twice - more research

2011-02-20 Thread Michail Vidiassov

Dear Developers,

On Sun, 20 Feb 2011, Michail Vidiassov wrote:


to be precise, the attachment is attached once
but is listed twice by Adobe Reader.


PDF spec states
--
An embedded file stream shall be included in a PDF document in one of the 
following ways:
•	Any file specification dictionary in the document may have an EF 
entry that specifies an embedded file stream. The stream data shall still 
be associated with a location in the file system. In particular, this 
method shall be used for file attachment annotations (see 12.5.6.15, File 
Attachment Annotations), which associate the embedded file with a location 
on a page in the document.
•	Embedded file streams may be associated with the document as a 
whole through the EmbeddedFiles entry (PDF 1.4) in the PDF document’s name 
dictionary (see 7.7.4, Name Dictionary). The associated name tree shall 
map name strings to file specifications that refer to embedded file streams 
through their EF entries.

--

while code in lpdf-wid.lua sends everything to EmbeddedFiles - including 
files associated with a location on a page in the document as in the 
examples in the originator's post.


For example http://www.microtype.com/showcase/EmbedFiles.pdf
has it done correctly, EmbeddedFiles refers only to that embedded files 
that are not linked to particular icons on pages.


 Sincerely, Michail

PS. did not experiment with patching lpdf-wid.lua myself yet...___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___


Re: [NTG-context] attachment attaches twice - more research

2011-02-20 Thread Hans Hagen

On 20-2-2011 11:21, Michail Vidiassov wrote:

Dear Developers,

On Sun, 20 Feb 2011, Michail Vidiassov wrote:


to be precise, the attachment is attached once
but is listed twice by Adobe Reader.


PDF spec states
--
An embedded file stream shall be included in a PDF document in one of
the following ways:
• Any file specification dictionary in the document may have an EF entry
that specifies an embedded file stream. The stream data shall still be
associated with a location in the file system. In particular, this
method shall be used for file attachment annotations (see 12.5.6.15,
File Attachment Annotations), which associate the embedded file with a
location on a page in the document.
• Embedded file streams may be associated with the document as a whole
through the EmbeddedFiles entry (PDF 1.4) in the PDF document’s name
dictionary (see 7.7.4, Name Dictionary). The associated name tree
shall map name strings to file specifications that refer to embedded
file streams through their EF entries.
--

while code in lpdf-wid.lua sends everything to EmbeddedFiles - including
files associated with a location on a page in the document as in the
examples in the originator's post.


i'll patch lpdf-wid but somehow I get the impression that it's more a 
viewer issue (the list shown seems to be a merge of filename as well as 
symbolic names while a clever list builder should look at the referred 
objects) ... but maybe no one else usesvdifferent symbolic names (we had 
similar issues with fields in the past and even now advanced field 
support is somewhat bugged one or the other way, depending on the viewer 
version, esp chained ones)


Hans

-
  Hans Hagen | PRAGMA ADE
  Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
 | www.pragma-pod.nl
-
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___