[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference bulova::decw_jan-89_to_nov-90

Title:DECWINDOWS 26-JAN-89 to 29-NOV-90
Notice:See 1639.0 for VMS V5.3 kit; 2043.0 for 5.4 IFT kit
Moderator:STAR::VATNE
Created:Mon Oct 30 1989
Last Modified:Mon Dec 31 1990
Last Successful Update:Fri Jun 06 1997
Number of topics:3726
Total number of notes:19516

950.0. "Support for slanted & rotated text" by YOSMTE::LAMB_PE (Peter Lamb - FSG Santa Clara) Wed Jun 14 1989 17:30

    Could someone please tell me if DECwindows V2.0 will support rotated
    or slanted text?  I understand that this is a current limitation
    of X - have we figured out a work arround yet?  I really think this
    is going to seriously impact products like Chart and Presenter.
    
    When I ask this question a typical answer is that since this is
    a characteristic (read limitatiion) of X everyone else doing X
    implementations will have the same problem.  Therefor we don't have
    to fix it until X does...  I think that this is wrong.  I will bet
    dollars to donuts that several other X implementations will fix
    this or provide some sort of workarround.  Currently both MS-Windows
    and the Mac have packages that support text rotation.  Our lack
    of this capability is more than an X problem.
    
    I guess what I am saying is that if X doesn't have anyway to do
    it then the products that need it like Chart and Presenter should
    standardize and figure out some way to do it themselves.  I am
    virtually certain that other implementations from other vedors (Sun
    for example) will take this approach.
    
    My $ .02
    
    Peter Lamb

T.RTitleUserPersonal
Name
DateLines
950.1VWSENG::KLEINSORGEToys 'R' UsThu Jun 15 1989 10:118
    
    Nope.  The party line is "wait for Display Postscript" or "write a
    extension if you need it".  This has been the line for over 2 years
    and it's not likely to change.
    
    _Fred (who was told to quit asking 2 years ago)
    

950.2The core X11 protocol doesn't support rotation, and it never will...KALKIN::BUTENHOFBetter Living Through Concurrency!Thu Jun 15 1989 10:2027
... if it did, it would become X12, and wouldn't be compatible with X11.

However, the people who designed X11 knew it wouldn't do everything anyone
wanted, and they came up with a brilliant solution which will allow X11 to 
remain useful "forever".  They designed it to be extendable.

"We" (Digital/etc.) have already developed an X11 extension for 3D (PEX), which
was actually shipped with Firefox (though it's currently hidden behind PHIGS, it
can in theory be used very much like Xlib).  (Oh, and PEX will rotate text... in
3D.)  There will also be an image extension to do image processing (you could
use it to rotate images created from the fonts, and then draw the rotated image
data; this is basically what DECterm does for ReGIS text).

And, most important to this particular issue... there will be an extension to
implement Adobe's Display PostScript�.  Display PostScript will be able to
rotate text, draw text along arbitrary paths, scale text... and do everything
else hardcopy PostScript can do.  There has been an unofficial commitment that
Display PostScript will become a standard part of every DECwindows server.  It
ain't there in V2, and I have no idea whether it will be there in V3 (the
developer has hinted at his association with the project several times in this
conference, but no dates or version numbers have been slipped).

So... X11 will NEVER rotate text.  But DECwindows, and many other X11 servers,
WILL... eventually.

	/dave

950.3VWSENG::KLEINSORGEToys 'R' UsThu Jun 15 1989 11:2012
    
    ... which means you can *never* count on the ability to do it.  One
    way or another, a extension must be written AND installed.  So if
    you absolutely, positively must scale and rotate, you need to do what
    DECterm, DECwrite and a half dozen other applications must do:
    
    Draw the character(s) into a pixmap, read the pixmap into a bitmap,
    scale, rotate, shear (or whatever transformation you want) the bitmap
    and bitblt the bitmap to the screen.
    
    

950.4Do it yourself :^)17305::WESTI'm just visiting this planet.Thu Jun 15 1989 12:2027
  X never really had any intention of standardizing 3D.  Thus is the reason
for standardizing the extension mechanism.  Currently, the only supported
way is to use PHIGS. 

  PEX is just for the VS 3520/40's used exclusively by PHIGS, and don't rely
on it ever becoming an 'open' library.

  If your ambitious enough then you can write a graphics package in the
language of your choice that does 3D graphics.  The burden on you would be
the conversion of 3D data into 2D data to make the right Xlib calls.

  If you wish to do this then you will want to make sure you have a copy
of the graphics bible.

    Fundamentals of Interactive Computer Graphics
    Foley / Van Dam
    Addison Wesley publisher

  Another ok book is

    Computer Graphics with Pascal
    Marc Berger
    Benjamin Cummings publisher    
    


950.5DECwrite doesn't - I don't thinkYOSMTE::LAMB_PEPeter Lamb - FSG Santa ClaraThu Jun 15 1989 12:3716
    Wait,
    
    Someone (.3) I believe said DECwrite does this...  That is not my
    understanding - my whole point is that if X11 doesn't handle it
    than the DEC products that need that capability (DECwrite, Chart
    and Presenter come to mind) should implement it in the way described
    in .2 (ie rotate a bitmap).  However, from what I can gather in
    the discussions in those notes files no plans have been made to
    do this - they are waiting for display postscript instead.
    
    I really think these products need this capability now instead of
    possibly a year from now when we get display postscript.  Again
    I am fairly certain that our competition won't wait...
    
    Peter

950.6You can do fallback in your interface libraryGR8FUL::HERBERTClass B Computing DeviceThu Jun 15 1989 13:3613
    Re: .3
    
    If the extension is properly designed, you could write a stub library
    which attempted to load the extension, and if it failed, emulate it
    using standard X functions. To an application, this would look just
    like X calls, and it would be more efficient on servers which
    implemented the extension.
    
    This way, you don't have to re-invent the fallback method in each
    application.
    
    Kevin

950.7We don't just ignore customer needs (we think about it first)EPIK::BUEHLERAll that is gold does not glitterThu Jun 15 1989 16:1414
><<< Note 950.5 by YOSMTE::LAMB_PE "Peter Lamb - FSG Santa Clara" >>>
>-< DECwrite doesn't - I don't think >-
    
    DECwrite does do scaling of text.  That's because that was viewed as an
    essential function in the product.  So we did what Fred described - we
    played games.
    
    If rotation of text had been equally high on the list of priorities, we
    would have figured something out there as well.  I believe that
    DECpresenter will have rotated text, and it's my understanding that
    they're not waiting for Display PostScript.
    
John

950.8VWSENG::KLEINSORGEToys &#039;R&#039; UsFri Jun 16 1989 05:1615
    
    I wonder just how much effort is being spent by DECwindows application
    programmers in re-inventing the wheel?  Here's a function (text scaling,
    rotation and shearing) that was pointed out 2� years ago as something
    that was critical to a number of applications...  and before a X
    extension or display postscript arrives I can count at least a half-dozen
    DEC applications that needed to re-invent it... at a very *high* cost
    in client side memory and CPU, not to mention server bandwidth if
    the text is pulled in through a pixmap read.
    
    Implementing the text extension with a client fallback library is fine.
    How 'bout doing it and making it a STANDARD Xlib function!
    
    

950.9If it's worth doing then go ahead and do itSTAR::BMATTHEWSFri Jun 16 1989 06:525
I think Fred is right and the app groups who need the function should
pool resources to define and do a sample implementation of scaled and rotated
text and submit the extension to the X11 community.
							Bill

950.10Do it now, get the jumpPOOL::HALLYBThe Smart Money was on GoliathMon Jun 19 1989 10:4810
    I think Bill has the right idea.  Otherwise we end up with two bad
    choices:  [1] Customer/competitor complaints that X11 isn't portable
    after all, with attendant loss in prestige and sales; [2] Somebody else
    (like IBM or HP) develops the code and *it* becomes the standard, with
    the attendant loss in prestige and sales as DEC plays catch-up.
    
    Whoever does it first, and does it right, has an edge on the others.
    
      John

950.11How do you scale,rotate or shear?LARVAE::BULLARDTue Jul 04 1989 05:597
    This may not be the most appropriate place to get this information,but
    where can I get some pointers on how to scale,rotate or shear a
    bitmap? Ideally I would like some code examples on how to implement
    these algorithms.
    
    regards Mark

950.12re .-1 (I've got some Macro examples)VESTA::BAILEYEight or bust.......Tue Jul 04 1989 06:134
VAXimage Application Services

IMG$SCALE... IMG$ROTATE...IMG$CREATE_ROI