• Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

AltME groups: search

Help · search scripts · search articles · search mailing list

results summary

worldhits
r4wp132
r3wp2173
total:2305

results window for this page: [start: 401 end: 500]

world-name: r3wp

Group: RAMBO ... The REBOL bug and enhancement database [web-public]
Anton:
9-Nov-2006
There you can see state is calculated from PANE-SIZE. There must 
be the problem I think.
Maxim:
9-Nov-2006
its possible pane-size is 0x0 which would make the text too small 
to fit horizontally... just thinking out loud here...
Anton:
9-Nov-2006
Looking in LAYOUT we see this piece of code:
    new-face/size: pane-size: any [
        all [size pane-size] 
        new-face/size 
        system/view/screen-face/size - (2 * new-face/offset)
    ]
Anton:
9-Nov-2006
There we can see that pane-size shrinks to 0x0 as new-face/offset 
approaches the middle of the screen. It can even go negative.
Anton:
9-Nov-2006
I'll search each style's molded init that mentions "pane-size".
Maxim:
9-Nov-2006
my guess is that it was supposed to increas a paren't size based 
on children offset and size...
Anton:
9-Nov-2006
Most styles have not much to do with pane-size, but there's a whole 
branch hanging off BASE-TEXT which deal with pane-size in exactly 
the same way.

BACKDROP and BACKTILE are in a separate category, they just set their 
size to pane-size at the end of their INIT.
Group: Parse ... Discussion of PARSE dialect [web-public]
BrianH:
24-May-2007
A temporary will work better with parts of unknown size, and be faster 
too.
Group: SDK ... [web-public]
Louis:
13-Dec-2005
Another question: what is required to use view-request.r with enface? 
I keep getting an error message:

** Script Error: sky has no value
** Where: context
** Near: color: sky size: 2x2
** Press enter to quit...


I just want a calander to pop up to request a date.  Is another source 
module required besides view-request.r?
Louis:
7-Mar-2006
But in View it works fine:

Type desktop to start the Viewtop.

>> web-file: info? ftp://user:[pass-:-ftp-:-bible-way-:-org]/www/turk/backup/enter-data.exe
connecting to: ftp.bible-way.org
>> probe web-file
make object! [
    size: 626343
    date: 3-Mar-2006/11:37
    type: 'file
]
>>
Bo:
23-Mar-2006
Set-Net not provided.
** Script Error: stylize has no value
** Near: stylize [
    wmtxt: text "Test" 255.255.0 font-size 16
    wtext: text " " 640 as-is no-wrap black white
    box: box...
** Press enter to quit...
Ashley:
27-Jul-2006
Nope. You just need to make sure that your icon replacements are 
the same size and bit depth. You can then put your replacement icons 
in a .ico file and automate the build process with code like:


 call rejoin ["c:\rebol\bin\ResHacker.exe -addoverwrite " encap-exe 
 "," encap-exe "," to-local-file ico-file ",ICONGROUP,REBOL,1033"]


You can also do the same thing with Company/Version info and a .res 
file:


 call rejoin ["c:\rebol\bin\ResHacker.exe -addoverwrite " encap-exe 
 "," encap-exe "," to-local-file res-file ",VERSIONINFO,1,1033"]


The "switching icons" problem is a Windows thing. Highlight your 
newly created .exe file and select View|Refresh from the file explorer 
menu. This should cycle the Windows icon cache.
Maxim:
22-Sep-2006
right now, it seems as if  all encap does is: 


save %your-script.exe append  Load/binary enface.exe compress load/binary 
your-script.r 


preprocessing just really adds more lines to your-script.r itself.. 
it adds nothing to the binary side of things like the resources which 
you describe.


My guess is that the main() of the enface checks to see if its file 
size is larger than it should and in such a case does:

do to-string decompress skip load/binary argv[0]  base-encap-size


other wise handling the args, finding a script to load, and letting 
extra args flow through to the loaded script.


this way the same binary works for both encapped and core SDK  binaries.
Group: !RebGUI ... A lightweight alternative to VID [web-public]
shadwolf:
3-May-2005
yes I find this better this is driven by the need to display the 
order symbol if the column will make to 0 size the symbol will not 
be related to the adecate column
Pekr:
16-May-2005
Some time ago I did precise scroller calculation. You have to include 
size of dragger into it etc.
Vincent:
24-May-2005
Bug: splitter crashes at limits with latest (1.2.113) /View beta. 
As faces aren't allowed to have a 0 size anymore, we needs to reintroduce 
the 1 pixel margin (it was in first version, as I wasn't comfortable 
with 0 sized widgets.) Code in splitter/engage/move:
Vincent:
24-May-2005
if event/type = 'move [
					p: first face/data
					n: second face/data
					either face/size/y > face/size/x [
						delta: face/offset/x - face/offset/x:
						    min n/offset/x + n/size/x - face/size/x - 1
						    max p/offset/x + 1 face/offset/x + event/offset/x
						p/size/x: p/size/x - delta
						n/size/x: n/size/x + delta
						n/offset/x: n/offset/x - delta
					][
						delta: face/offset/y - face/offset/y:
						    min n/offset/y + n/size/y - face/size/y - 1
						    max p/offset/y + 1 face/offset/y + event/offset/y
						p/size/y: p/size/y - delta
						n/size/y: n/size/y + delta
						n/offset/y: n/offset/y - delta
					]
					show [p face n]
				]
ChristianE:
4-Jun-2005
;	15-Mar-2005 Pascal Lefevre
	;	27-Apr-2005 Pascal Lefevre

    ;    4-Jun-2005 Christian Ensel (minor color and shape suggestions)
	led: make face [
		size:	-1x4

  effect:	[draw [pen edge-color fill-pen window-color box 0x0 0x0]]
		font:	default-font
		para:	make default-para [origin: as-pair base-size 2]
		feel:	make default-feel [
			redraw: func [face act pos /local colors] [
				if act = 'show [
                    colors: reduce case [
						any [face/data = 1 face/data = true]  [
                            [btn-text-color btn-text-color]
                        ]
                        any [face/data = 0 face/data = false] [
                            [edge-color btn-up-color]
                        ]
                        true [
                            [edge-color white]
                        ]
                    ]
                    face/effect/draw/2: colors/1
                    face/effect/draw/4: colors/2
				]
			]
		]
		init:	does [
			if word? data [data: to logic! data]

   if negative? size/x [size/x: 1000000 size/x: 4 + para/origin/x + 
   first size-text self]
			effect/draw/6/y: unit-size 
			effect/draw/7: as-pair unit-size * 3 unit-size * 2,5
		]
	]
Volker:
4-Jun-2005
but maybe we could have a switch to set that size, for stealth-mode.
shadwolf:
9-Jun-2005
max limit can be used to automatically calculate the size of the 
data showing part of the spinner
Ashley:
10-Jun-2005
Anton, rebface word only comes into play during widget creation; 
all other references to face (e.g. feel, focus, etc) have not changed. 
In fact, that was one of my motivations for introducing it ... I've 
seen far too many people tripped up by code like the following:

	engage: func [face action pos] [
		...
		insert tail blk make face [
			...
		]
		...
	]


where the "make face" should have been "make system/standard/face". 
When a RebGUI widget refers to rebface it is now unambiguous that 
we are not referring to a face argument nor the global face.


Looking at your demo slider now. If slider / scroller can be combined 
without a net increase in code size then I'm all for it as they are 
functionally and stylistically similar (vsplitter and hsplitter were 
combined into splitter for much the same reasons quite a while back).
Graham:
12-Jun-2005
>> view-root
== %/d/rebol/view/temp
>> site: http://www.lexicon.net/antonr/rebol/
== http://www.lexicon.net/antonr/rebol/
>> load-thru/update site/rebgui/slider.r
== [
    context [
        slider: [
            size: 4x40
            data: 0
            color: ctx-rebgui/colors/widget
    ...
>> do site/rebgui/demo-slider.r

** Access Error: Cannot open /d/rebol/view/programs/rebgui/rebgui.r
** Where: halt-view
** Near: do view-root/../programs/rebgui/rebgui.r
include [
    site/rebgui/slider.r [slider]
]
query/clear
Ashley:
12-Jun-2005
Anton, superb work on the slider/scroller widget. The increased functionality 
more than justfies the increase in code complexity / size. BTW, why 
the support for text? I know why something like "98%" is important 
for progress, but slider/scroller? ;)
Luc:
13-Jun-2005
i have a problem with the size of an image
Luc:
13-Jun-2005
; définition du style de l'objet et intégration dans le context de 
RebGUI :
ctx-rebgui/widgets: make ctx-rebgui/widgets [ 
	;; Object' Style definition :
	object: make ctx-rebgui/rebface [
		size: 20x20
		title: ""
		pane: []
		; gestion des évènements :
		feel: ctx-rebgui/widgets/default-feel
		
		; Initialisation :
		init: has [tmp-sze] [
			tmp-sze:  size
			; list countainer
			insert tail pane make ctx-rebgui/rebface compose [
				size: tmp-sze   offset: 0x0 pane: [image img-barre]
			]
			; Insert TitleBar :

   insert tail pane titlebar: make  ctx-rebgui/widgets/image compose 
   [

     image: img-barre size: (as-pair tmp-sze/x 30) offset: 0x0 edge: ctx-rebgui/widgets/default-edge
			] titlebar/init
			; insert scrollers 

   insert tail pane v-scroll: make  ctx-rebgui/widgets/scroller compose 
   [
			 	size: (as-pair 15 tmp-sze/y) offset: (as-pair tmp-sze/x 0)

     ;action: does [scroll-table/y parent-face/pane/1 self] ; put here 
     scrolller function calls
			] v-scroll/init

   insert tail pane h-scroll: make  ctx-rebgui/widgets/scroller compose 
   [
			 	size: (as-pair tmp-sze/x 15) offset: (as-pair 0 tmp-sze/y )

     ;action: does [scroll-table/x parent-face/pane/1 self ]; put here 
     scrolller function calls
			] h-scroll/init
			; insertion  scrollable countainer 
			insert tail pane/1/pane make ctx-rebgui/widgets/box compose [

     size: (as-pair pane/1/size/x (pane/1/size/y - 15))  offset: 0x0 pane: 
     []
 			] 
		]
	]
]
Luc:
13-Jun-2005
the edge of the image has the correct size but the image hasn't the 
same size than the edge
Luc:
13-Jun-2005
wind: compose/deep [
	button "Ana" [do %anamonitor.r]
	obj: object
	return 
	button "UP" [titlebar/size: titlebar/size + 10x0 show titlebar]
	text (join "REBOL/View :  " system/version)
]
display "Test du style de l'objet LadyBird"  wind
do-events
Ashley:
13-Jun-2005
With regards to the image size problem, try adding "effect: 'fit" 
to your make image code. Also, it's probably easier to make the image 
directly from a face, as in:

	insert tail pane make ctx-rebgui/rebface [
		offset:	0x0
		size:	as-pair tmp-sze/x 30
		image:	img-barre
		edge:	ctx-rebgui/widgets/default-edge
		effect:	'fit
	]
Ashley:
15-Jun-2005
Latest build available at: http://www.dobeash.com/files/RebGUI-031.zip


*** Unzip this file into your existing RebGUI 0.3.0 distribution. 
Requires View 1.3. ***

Highlights include:


 - Replaced scroller & slider widgets with Anton's new combined slider
	- Updated widgets to use same and set dragger size
	- Tab-panel now accepts actions (to enable dynamic tab displays)
	- Improved text-list selection logic
	- Prototype request-dir function added (needs a lot more work)
	- Large number of bug fixes
	- http://www.dobeash.com/it/rebgui/display.htmlupdated

Known issues:

	Unchanged.

On the drawing board

	Unchanged.
Ashley:
16-Jun-2005
button: make rebface [
		size:	12x4
		text:	""
		data:	reduce [
			load #{

    89504E470D0A1A0A0000000D49484452000000070000000E0806000000E35D06

    1B0000001374455874536F667477617265005245424F4C2F566965778FD91678

    0000006D49444154789C7DD0210EC0201404510EC78DB90937402030080C09E6

    3743B250DAA62423D8574C9D9939EFBD3D6377B7CB3ADA9C608CB1EABD6FD440

    AD35ABB56E1410504A39911704A49436F2B502628C6FD4AB0319D527E69C672F

    6450C0811A2884305B481A0513FF7EFC050B081E1B1469CACD0000000049454E
				44AE426082
				}
			load #{

    89504E470D0A1A0A0000000D49484452000000070000000E0806000000E35D06

    1B0000001374455874536F667477617265005245424F4C2F566965778FD91678

    0000004E49444154789C63F8FFFF3F838B8BCB7F740C12874B6CDEBC198E6162

    0CE812C80A50242F5DBAF4FFE1C387608C2209921828499802ACAE8561E28D85

    09BE7CF9125512844182300C0F3E7C010F0010F10EBBAF4E057A000000004945
				4E44AE426082
			}
			load #{

    89504E470D0A1A0A0000000D49484452000000070000000E0806000000E35D06

    1B0000001374455874536F667477617265005245424F4C2F566965778FD91678

    0000007049444154789C63F8FFFF3F838B8BCB7F740C12874BFCBB3F0B8E6162

    0C30893F97AAE018A60045F2FBF7EF244AC28CFBF4E9139C0D97FC753C118CDF

    BD7B0767C3257FEEF306E3972F5FC2D9C449FED8620AC64F9F3E85B331241F3E

    7C885B1219C32541F8E974063886071FBE800700F5AD02E08E740D5300000000
				49454E44AE426082
			}
		]
		image:	first data
		effect:	[mix extend 3x7 1x1]
		font:	make default-font [align: 'center valign: 'middle]
		feel:	make default-feel [
			over: func [face act pos] [
				face/image: either act [face/data/3] [face/data/1]
				show face
			]
			engage: func [face act event] [
				either act = 'down [
					face/image: face/data/2 show face face/action face
				][
					if act = 'up [face/image: face/data/1 show face]
				]
			]
		]
		init:	does [effect/4: size - image/size]
	]
Anton:
16-Jun-2005
I don't think the extra code size is worth it.
BrianH:
16-Jun-2005
Of course if you are concerned about code size you can do this:

data: [
    #[image! 7x14 64#{

        AAAAREREREREREREREREREREAAAARERERERE////////////RERERERERERE

        ////+vr6+vr6+vr69/f3RERERERE+vr69/f39/f38vLy7u7uRERERERE9/f3

        9/f39/f37u7u6enpRERERERE9/f38vLy8vLy6enp4eHhRERERERE7u7u7u7u

        7u7u4eHh0tLSRERERERE7u7u7u7u6enp4eHh0tLSRERERERE6enp6enp6enp

        4eHh0tLSRERERERE6enp5eXl5eXl4eHh0tLSRERERERE4eHh4eHh4eHh0tLS

        0tLSRERERERE0tLS0tLS0tLSs7Ozs7OzREREREREREREs7Ozs7Ozs7OzRERE
        REREAAAAREREREREREREREREREREAAAA
    } 64#{

        /wAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AP8AAAAAAP8=
    }]
    #[image! 7x14 64#{

        AAAAREREREREREREREREREREAAAARERERERE/t+a/t+a/t+aRERERERERERE

        /t+a/NJ6/NJ6/NJ6/t+aRERERERE/t+a/NJ69/f3/NJ6/t+aRERERERE/t+a

        /NJ69/f3/NJ6/t+aRERERERE/NJ6/NJ68vLy/NJ6/NJ6RERERERE+sdh+sdh

        7u7u+sdh+sdhRERERERE+b5L+b5L6enp+b5L+b5LRERERERE+b5L+b5L6enp

        +b5L+b5LRERERERE+LQ1+LQ15eXl+LQ1+LQ1RERERERE+LQ1+LQ14eHh+LQ1

        +LQ1RERERERE+LQ1+LQ1+LQ1+LQ1+LQ1RERERERERERE5ZcA5ZcA5ZcARERE
        REREAAAAREREREREREREREREREREAAAA
    } 64#{

        /wAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AP8AAAAAAP8=
    }]
    #[image! 7x14 64#{

        AAAAREREREREREREREREREREAAAARERERERE/t+a/t+a/t+aRERERERERERE

        /t+a/NJ6/NJ6/NJ6/t+aRERERERE/t+a/NJ69/f3/NJ6/t+aRERERERE/t+a

        /NJ69/f3/NJ6/t+aRERERERE/NJ6/NJ68vLy/NJ6/NJ6RERERERE+sdh+sdh

        7u7u+sdh+sdhRERERERE+b5L+b5L6enp+b5L+b5LRERERERE+b5L+b5L6enp

        +b5L+b5LRERERERE+LQ1+LQ15eXl+LQ1+LQ1RERERERE+LQ1+LQ14eHh+LQ1

        +LQ1RERERERE+LQ1+LQ1+LQ1+LQ1+LQ1RERERERERERE5ZcA5ZcA5ZcARERE
        REREAAAAREREREREREREREREREREAAAA
    } 64#{

        /wAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AP8AAAAAAP8=
    }]
]
Ashley:
16-Jun-2005
Anton

 1) Code size. What it loses in code size it gains in aesthetics and 
 simplified behaviour (check out the request-color and request-date 
 actions in %tour.r to see the extra "state" code required by the 
 original implementation). I like Brian's base64 solution.

 2) Tab-panel color: I've based this on the WinXP color scheme. Try 
 changing it to colors/window, it just doesn't look right. But slider 
 can be used on a colors/widget or colors/window background. WinXP 
 solves this by using a gradient / edge so that it is distinguishable 
 on either. So for RebGUI, a number of solutions are possible:

  - add a new colors/slider background that "works" with both widget 
  and windows background colors

  - add a new colors/tab-panel background that "works" with both widget 
  and windows background colors

  - use an effect like gradient to distinguish the slider background 
  color
		- or edge
		- or?
	I'm open to suggestions on this one. ;)

Brian
	1) I like the in-line image solution

 2) I like the base 64 solution even better! One problem, the button-down 
 image renders the same as button-up (i.e. 1st and 2nd images render 
 the same ... even though a quick glance at the data suggests they 
 are different?)

Graham
	Any examples where the desired behaviour is used?

shadwolf

 I did the same (replaced scroller call with "slider data [arrows]") 
 for text-list / table and it worked fine for me. Check for code that 
 tried to reference sub-faces in the old scroller widget (as Anton 
 refactored slider to use just one face).
Luc:
17-Jun-2005
ashley, can you add in slider style a function wich changes the size 
of the dragger ?
Ashley:
18-Jun-2005
Luc: dragger size is controlled by ratio, so just do a "sld/ratio: 
a / b show sld" or similar in your code.
Ashley:
20-Jun-2005
I'm currently developing a load-svg-icon function that will take 
an SVG file name and size, and return a scaled draw block. Some questions 
need addressing first though (feel free to post the GPL answers to 
the licensing group):


1) Can I distribute a set of GPL SVG icons with the RebGUI zip bundle? 
If so, under what terms / conditions?

2) If someone creates a RebGUI binary application (with the to be 
released SDK) can they include GPLed SVG files, and if so, under 
what terms / conditions?

3) Can GPLed SVG files be distributed under a different file name(s)? 
(e.g. rename gnome-gtk-folder-icon3.svg to open.svg)

4) What if I want to take a set of GPLed SVG files and distribute 
them as pre-converted draw-blocks (so RebGUI apps don't need to convert 
icons from SVG to Draw)?

Now some design questions:


1) Should the result of the proposed load-svg-icon be a draw block 
or an image?

2) Should RebGUI have a stock image cache or a stock draw-cmds cache? 
(i.e. is it better to cache draw cmds or images)
shadwolf:
30-Jun-2005
you can see the use of a style field in the path tag that encap all 
the graphical need (internal color / gradient effect, border size 
color /gradient etc...) or this information can be exploded in as 
many field that you have description
Graham:
13-Aug-2005
next error .. got the splash screen now, and then this

** Script Error: Cannot use path on word! value
** Where: init
** Near: effect/4: size - image/size
** Press enter to quit...
Ashley:
22-Aug-2005
Latest build available at: http://www.dobeash.com/files/RebGUI-034.zip


*** Unzip this file into your existing RebGUI 0.3.0 distribution. 
Requires View 1.3.1 ***

Highlights include:

	- request-dir requestor updated
	- alert and question requestors added

 - Tab focus expanded to include edit-list handling (see %focus-demo.r 
 for details)
	- Button image now resizes correctly

 - text-list widget totally rewritten to use [newly documented] View 
 1.3.1 iterated faces
	- text-list now supports Ctrl+click, Shift+click, Ctrl+A

 - text-list scrollbar now reacts to current display state (eg. disappears 
 if not required, alters dragger ratio as rows are added, etc) 
	- check and radio widget aesthetics improved

 - added options support to layout function and text-list and check 
 widgets

 - changed base-size from 4x5pixels to 5x4 pixels (better granularity)
	- reworked all widget sizes to account for above
	- fixed scaling problems with many widgets
	- updated focus-demo.r

 - greatly enhanced and expanded %tour.r to demonstrate more variations 
 and usage cases
	- added "live" unit-size and font-size drop-lists to %tour.r
	- numerous other minor bug fixes and coding improvements

In the works


 - table widget being rewritten along the same lines as the new improved 
 text-list widget
	- aiming for a 0.4.0 beta release prior to DevCon2005
Mchean:
23-Aug-2005
with 3.4 when i run the tour.r i get: Access Error: Cannot open /C/Temp/Rebol 
View/RebGui/images/logo.png
** Near: image: load %images/logo.png
size: image/size
Group: SQLite ... C library embeddable DB [web-public].
amacleod:
27-Feb-2009
Actually size of the image does not seem to be the prob as this works: 

SQL reduce [{insert into images values (?,?,?,?,?,?,?,?)} "img/1" 
"img/2" "img/3" "img/4" "img/5" pic "img/7" "img/8"]
where pic is a large 4000x3000 full color photo.
I get no error.

But if I loop 50 and insert the above data 50 times I get an error???
Janko:
17-Mar-2009
when I installed sqlite with apt-get install sqlite3 I got 2 files 
into /usr/lib/ directory   ./usr/lib/libsqlite3.so.0.8.6  and   ./usr/lib/libsqlite3.so.0 
... if I run rebol it doesn't find sqlite so I copied one of them 
(I tried with both, they are of same size btw) to directory where 
rebol / rebpro and sqlite.r is and renamed it to    libsqlite3.so 
  and then it seems to find it ... now this is just common sense 
as I am not that experienced with this on linux
BrianH:
6-Jan-2010
The sorting problem with collations applies to Unicode, not just 
UTF-whatever, so it is a problem. Mostly a problem of size: The actual 
colation sorting code is small, but the collation data is large. 
Add more than one or two and REBOL gets huge.
joannak:
9-Jan-2010
This unifoce srting seems to be a mess.. Well, technically they do 
have some standards, but trying to even think any decent size implementation 
of that.. 
http://www.unicode.org/reports/tr10/
Group: Postscript ... Emitting Postscript from REBOL [web-public]
Graham:
18-Apr-2006
you can see the same problem with the shaded box which rotates and 
moves in closer to the middle as the size is reduced.
Anton:
18-Apr-2006
No, I mean all the different text strings disappear and reappear 
at different times as you drag the slider. Something to do with font 
size ?
Anton:
18-Apr-2006
Maybe scale-draw creates a font object with a size which is not supported 
?
Anton:
18-Apr-2006
font1: make object! [
		name: "Nimbus Roman No9 L"
		style: none
		size: 33
		color: 255.0.0
		offset: 2x2
		space: 0x0
		align: 'center
		valign: 'center
		shadow: none
	]

font2: make object! [
		name: "Nimbus Roman No9 L"
		style: none
		size: 13
		color: 0.0.0
		offset: 2x2
		space: 0x0
		align: 'center
		valign: 'center
		shadow: none
	]

view layout [box 500x700 white effect [draw [
	box 0x0 493x698 
	fill-pen none 
	box 0x0 493x698 
	line-width 0 

 font font1 pen 255.0.0 text vectorial "REBOL PostScript Dialect" 
 59x68 
	pen 0.0.0 line 59x104 431x104 

 font font2 pen 0.0.0 text vectorial {With this dialect it's possible 
 to easily produce PostScript output.} 79x121
]]]
Anton:
18-Apr-2006
but it does when font/size is at 15 instead of 13.....
Graham:
18-Apr-2006
Henrik, my latest demo has a button that prints to the parallel port. 
 As for choosing trays and paper size, I think you can set that in 
the postscript comments.
Henrik:
18-Apr-2006
hmm... at least measure the size of the text
Graham:
18-Apr-2006
You can determine the size of the text based on the current point 
size
Graham:
18-Apr-2006
and you know the page size
Graham:
18-Apr-2006
>> layout [ a: text "this is a line" font [ size: 20 ]]
>> line-list: make system/view/line-info []
>> textinfo a line-list 0
>> probe line-list
make object! [
    start: "this is a line"
    num-chars: 14
    offset: 2x2
    size: 104x23
]
>> layout [ a: text "this is a line" font [ size: 12 ]]
>> textinfo a line-list 0
>> probe line-list
make object! [
    start: "this is a line"
    num-chars: 14
    offset: 2x2
    size: 68x15
]
Henrik:
18-Apr-2006
isn't there a SIZE-TEXT function?
Henrik:
18-Apr-2006
>> size-text make face [text: "hello"]
== 29x15
Henrik:
18-Apr-2006
center: func [text width font] [
  width / 2 - second size-text make face compose [
    text: (text)
    font: (font)
  ]
]
Henrik:
18-Apr-2006
size-text is the limit of the size of the face as well
Henrik:
18-Apr-2006
center: func [text width font] [
  (width / 2) - (first size-text make face compose copy [
    text: (text)
    font: (font)
    size: (as-pair width 100)
  ])
]
Henrik:
18-Apr-2006
center: func [text size font] [
  (size/x / 2) - (first size-text make face compose copy [
    text: (text)
    font: (font)
    size: (size)
  ])
]
Henrik:
18-Apr-2006
center: func [text size font] [
  divide subtract size/x first size-text make face compose copy [
    text: (text)
    font: (font)
    size: (size)
  ] 2
]
Henrik:
18-Apr-2006
anyhoo:


img: draw make image! 297x210 compose [pen red font (make face/font 
[size: 30]) text (as-pair center "BOOM!" 297x210 make face/font [size: 
30] 20) "BOOM!"]
view layout [image img]
Graham:
19-Apr-2006
If you look at my layout examples above, you can see that the font 
size is not the same as the point size used in View.
Henrik:
19-Apr-2006
I think the font size is bound to the screen resolution
Henrik:
19-Apr-2006
post a RAMBO and see what happens. at least on the size difference 
between fonts in VID and fonts in DRAW
Henrik:
20-Apr-2006
it'll have to be worked around for now. if the size deviation is 
proportional to the size of the font, it could be fixed with a coefficient 
on the font size of the DRAW text
Graham:
20-Apr-2006
Is this indicative of the current problem?

>> foreach typeface ["arial" "times new roman" "verdana" "trebuchet 
ms"][

[    layout [tx: text font [name: typeface size: 10] do [probe second 
size-text tx]]
[    ]
13
12
12
15
Henrik:
22-Apr-2006
yes, at least in a clear way to make sure that the postscript is 
like it should be: that centered output really is centered, font 
size is completely accurate and such
Henrik:
8-Jun-2006
it's plain VID, done in double size, blurred a couple of times and 
some contrast added to it and then scaled down quickly with 'fit
Henrik:
12-Jun-2006
geomol, is page size locked to A4?
Henrik:
13-Jun-2006
geomol, I've implemented a very primitive centering algorithm now 
in postscript.r. It will only center one line and requires a horizontal 
size to center from. do you want this code?
Graham:
13-Jun-2006
Henrik, the difficulty is not so much formatting a single line of 
text, but a large block of text of unknown size which may cross multiple 
pages.  PS has functions to exactly allow you to calculate the stringwidth 
of a string, count spaces, etc and these help in writing justification 
routines.  Some complex justification routines are available  ... 
just requires tracking them down if one doesn't want to learn PS 
:)
Henrik:
9-Nov-2006
I wrote a very small one, about 2 kb in size with a GUI. I can't 
remember, but I think it uses Rugby.
Henrik:
10-Apr-2007
Anyone know anything about page size and orientation in postscript? 
I'm trying to implement that in postscript.r. I got EPS partially 
working, but I don't know how printers handle EPS.
Henrik:
10-Apr-2007
it seems Preview insists on using Letter as page size for postscript.r 
output. I have to assume that a real printer does the same. I need 
A4 and A5 both in portrait and landscape.
Geomol:
10-Apr-2007
A couple of useful PS links:

How to generate portable Postscript: http://alumni.media.mit.edu/~szummer/postscript/

What is the physical size of the page?: http://www.postscript.org/FAQs/language/node64.html

How to use Adobe PostScript language files properly.: http://www-cdf.fnal.gov/offline/PostScript/AdobePS.html

(Look under "Paper bin, tray, size, feed mode, etc. selection", where 
you also find a link to:)
PostScript Sins: http://www.byte.com/art/9508/sec13/art3.htm
Gripes: http://www.cs.wisc.edu/~ghost/doc/gripes.htm
Geomol:
10-Apr-2007
Ok, about your page size, I think, it'll give more problems, if you 
specify A4 or Letter explicit. It's better to make some margin, so 
the pages can be printed on both types of paper.
Geomol:
10-Apr-2007
Henrik, is it some thing like the function SIZE-TEXT, you're after 
with text in DRAW?
Henrik:
10-Apr-2007
geomol, yes. SIZE-TEXT does not work that well with DRAW text.
Geomol:
23-Feb-2008
Hm, maybe it has something to do with the size of the image. I saved 
logo.gif as %logo.bmp and it works. If I save that palms.jpg as %palms.bmp, 
it doesn't work.
Geomol:
23-Feb-2008
The image problem seems to be related to size. I tried to make a 
little image entirely in REBOL, and I can see that. Making a larger 
image, and Preview under OSX can't convert it to PDF. I would like 
to know, if my example above with palms.jpg can be printed on paper.
Geomol:
24-Feb-2008
Images are implemented in postscript.r using ASCIIHexDecode filter, 
which double the size of image data. It would be better to implement 
ASCII85, which does a 4:5 increase only.


Also images are handled in something called dictionaries in PostScript. 
This require PostScript v. 2.0.
Geomol:
26-Feb-2008
Yes, but it only worked with integer! text-size. I've added decimal! 
option, and this seems to work too. (sub-unit precision)
I have a new version ready soon.
Geomol:
26-Feb-2008
I needed the decimal! for text size in alignment, because postscript 
work with 72 dot pr. inch by default. Putting text on the page often 
need the text to be with sub-unit precision. It was possible to put 
the text with sub-unit before, but now also alignment can be with 
sub-unit precision.
Henrik:
19-Apr-2008
Geomol. have you been looking at vertically centered text? It could 
be added as a y parameter to 'text, where we already use an x parameter 
for the string box size.
Graham:
19-Apr-2008
and there are postscript commands for getting the size of the text
Graham:
19-Apr-2008
/fontsize (size) def
Graham:
19-Apr-2008
I seem to remember justification routines get the word size, drop 
the height value and just work on the width
Graham:
19-Apr-2008
The ``charpath'' operator extracts the graphic shapes of its string 
operand and appends them to the current path in the graphic state. 
These shapes can then be processed by other PostScript operators. 
To get the actual size of the area touched by a character a simple 
approach is

	gsave
	newpath
	0 0 moveto
	(X) false charpath flattenpath pathbbox
	grestore


This code places four numbers on the stack, representing the coordinates 
of the lower left and upper right corners of the bounding box enclosing 
the character ``X'' rendered with the current point at (0,0). Leaving 
the flattenpath out will cause it to be less accurate, but it will 
take up less memory and be faster.
Henrik:
19-Apr-2008
Got the font size to work, but it doesn't take the baseline into 
account.
Henrik:
20-Apr-2008
The changes are:


- Stores the font size inside PS every time a new font is selected. 
This is not used however, but perhaps is useful in the future.

- Added bottom, middle and top alignment for TEXT. Similarly to how 
you specify a size for LEFT, CENTER and RIGHT, you can enter a size 
for TOP, MIDDLE and BOTTOM:

Some text
 center 400 middle 200

Both sets are optional. The default alignment is LEFT and BOTTOM.

My changes are marked HMK in the source. I hope it is of use.
Henrik:
20-Apr-2008
you still need to know the size of the bbox, don't you?
Henrik:
20-Apr-2008
what I did at first was just to use the font size. that doesn't work, 
because it does not take the baseline into account.
Geomol:
20-Apr-2008
Yes, that's what I think, you should do. Build a dialect with keywords 
as top, middle, bottom etc. and make that dialect know the size of 
the paper and correctly calculate the positions. That's the way to 
do it, I think. I would do it like that.
Henrik:
20-Apr-2008
and as mentioned at first, I already tried the font size... doesn't 
work.
Henrik:
20-Apr-2008
because we are already doing it correctly using stringwidth, namely 
by calculating the text size accurately inside postscript. the same 
should count for the vertical size. it's strange that information 
is so hard to get.
Group: !Cheyenne ... Discussions about the Cheyenne Web Server [web-public]
Dockimbel:
18-Jun-2007
<form action="show.rsp" method="POST" enctype="multipart/form-data">
	<input type="file" name="ufile" size="16" />
	<input type="submit" name="usubmit" value="upload" />
</form>
Graham:
11-Jul-2007
This is from the Rebol cookbook 

REBOL [Title: "HTTP Post Uploader"]

    url: http://www.rebol.net/cgi-bin/test/post.r
    data: read/binary %/c/rebol/rebol.exe

    print ["Sending Size:" length? data "Checksum:" checksum data]
    result: read/custom url reduce ['post data]
    print ["Server Replied:" result]

how does Cheyenne cope with this type of post ?
Graham:
14-Jul-2007
This is with the latest beta ...

>> page: read http://127.0.0.1/show.cgi
URL Parse: none none 127.0.0.1 none none show.cgi
Net-log: ["Opening" "tcp" "for" "HTTP"]
connecting to: 127.0.0.1
Net-log: {GET /show.cgi HTTP/1.0
Accept: */*
Connection: close
User-Agent: REBOL View 1.3.2.3.1
Host: 127.0.0.1
}
Net-log: "HTTP/1.1 200 OK"
Net-log: ["low level read of " 2048 "bytes"]
Net-log: ["low level read of " 2048 "bytes"]

== {<HTML><BODY><FONT FACE='ARIAL' SIZE='-1'><a href="/">Back</a><br><br>
<B>Script path :</B> /E/cheyenne916/Cheyenne/www/ <BR><BR...

>> page: read/custom http://127.0.0.1/show.cgireduce ['post join 
"content=" url-encode content ]
URL Parse: none none 127.0.0.1 none none show.cgi
Net-log: ["Opening" "tcp" "for" "HTTP"]
connecting to: 127.0.0.1
Net-log: {POST /show.cgi HTTP/1.0
Accept: */*
Connection: close
User-Agent: REBOL View 1.3.2.3.1
Host: 127.0.0.1
Referer: http://127.0.0.1/show.cgi
Content-Type: application/x-www-form-urlencoded
Content-Length: 147479
}
Net-log: none

** User Error: Error.  Target url: http://127.0.0.1/show.cgicould 
not be retrieved.  Server response: none

** Near: page: read/custom http://127.0.0.1/show.cgireduce ['post 
join "content=" url-encode content]
>>
Group: Games ... talk about using REBOL for games [web-public]
ICarii:
4-Jul-2007
need to left click to select a card then right click it whill full 
size to play.  right clicking a card in normal mode discards it :)
401 / 23051234[5] 67...2021222324