Subject: CVS olicha: * Implemented vertical text rendering

From: FVWM CVS <[email-masked]>
Date: Fri, 15 Mar 2002 03:49:36 -0600

CVSROOT:	/home/cvs/fvwm
Module name:	fvwm
Changes by:	olicha	02/03/15 03:49:36

Modified files:
	.              : ChangeLog 
	fvwm           : add_window.c borders.c fvwm.h fvwm2.1 
	                 geometry.c geometry.h style.c style.h update.c 
	                 update.h window_flags.h 
	libs           : Fft.c Fft.h Flocale.c Flocale.h 

Log message:
* Implemented vertical text rendering
* New Style SideTitleTextTopToBottom, SideTitleTextBottomToTop and
SideTitleTextDefault
* Removed matrix xft specification doc as now it is use internally by fvwm

--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked]

---

From: Andre Bonhote <[email-masked]>
Date: Fri, 15 Mar 2002 11:13:18 +0100

> * Removed matrix xft specification doc as now it is use internally by fvwm

Um ... looks interesting, but doesn't compile here. After a normal
./configure without any options, make shows this:

ft.c
In file included from Fft.c:26:
Flocale.h:228: parse error before `XTextProperty'
Flocale.h:242: parse error before `XICCEncodingStyle'
Fft.c: In function `is_utf8_encoding':
Fft.c:72: warning: `i' might be used uninitialized in this function
Fft.c: In function `FftGetRotatedFont':
Fft.c:108: warning: statement with no effect
make[2]: *** [Fft.o] Error 1
make[2]: Leaving directory `/home/andre/build/fvwm/libs'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/andre/build/fvwm'
make: *** [all-recursive-am] Error 2

System: RedHat 7.1, linux kernel 2.4.7-10

[andre@coffee andre]$ gcc -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs
gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-98)

HTH
A

---

From: Olivier Chapuis <[email-masked]>
Date: Fri, 15 Mar 2002 12:50:56 +0100

> make: *** [all-recursive-am] Error 2

Hope that this is fixed now, but I am afraid that maybe others
compilation problems will arise. I've not yet completly understand
the "new" library coding style ...

Be award that current cvs is really unsatble.

Olivier

---

From: Andre Bonhote <[email-masked]>
Date: Fri, 15 Mar 2002 13:11:30 +0100

> * New Style SideTitleTextTopToBottom, SideTitleTextBottomToTop and

Hi!

It compiles fine now. But wrapping the window into the title bar has
some problems. Well, wrapping works, but it doesn't unwrap.
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked]

---

From: Dominik Vogt <[email-masked]>
Date: Fri, 15 Mar 2002 13:57:09 +0100

> * Removed matrix xft specification doc as now it is use internally by fvwm

Could we name it "LeftTitleTopToBottom" etc. instead?

Bye

Dominik ^_^  ^_^

 --
Dominik Vogt, [email-masked]
Reply-To: [email-masked]
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked]

---

From: Olivier Chapuis <[email-masked]>
Date: Fri, 15 Mar 2002 15:32:30 +0100

> Could we name it "LeftTitleTopToBottom" etc. instead?

So it will be:

  LeftTitleTopToBottom / LeftTitleBottomToTop
  RightTitleBottomToTop / RightTitleTopToBottom

with the defaults LeftTitleBottomToTop and RightTitleTopToBottom?

Olivier

---

From: Dominik Vogt <[email-masked]>
Date: Fri, 15 Mar 2002 18:09:28 +0100

> with the defaults LeftTitleBottomToTop and RightTitleTopToBottom?

Okay.

Bye

Dominik ^_^  ^_^

---

From: Mikhael Goikhman <[email-masked]>
Date: Fri, 15 Mar 2002 18:06:13 +0000

> with the defaults LeftTitleBottomToTop and RightTitleTopToBottom?

I think it is good to have the same configurability for TopTitle and
BottomTitle, and in this case the naming scheme should be different,
because it is not intuitive that RightToLeft refers to upside-down and not
to upside-up with Hebrew direction.

So, maybe to clear the same confusion for side titles, name the options as:

   LeftTitleUpsideRight            /  LeftTitleUpsideLeft (default)
   RightTitleUpsideRight (default) /  RightTitleUpsideLeft
   TopTitleUpsideUp (default)      /  TopTitleUpsideDown
   BottomTitleUpsideUp (default)   /  BottomTitleUpsideDown

Also something _really unrelated_. I still think, it is good to have
another boolean option ButtonsTopLeftToBottomRight / ButtonsUseRotation.

Regards,
Mikhael.

---

From: Olivier Chapuis <[email-masked]>
Date: Sat, 16 Mar 2002 06:35:59 +0100

> to upside-up with Hebrew direction.

I do not think that we have to implement text direction configurability
for TopTitle and Bottom Title. The reason is that we/I should add
libfribidi support and fvwm will display automatically text in the
good direction for top/bottom title (work in progress here but this
may take some times).
On the other hands, with a LTR string, LeftTitle and LeftTitleTopToBottom
a priori I think that the string will be displayed bottomtotop form the
user language point of view.
But maybe we should reverse direction in such a situation??

Any way I do not think that all these are big problems because
fvwm configuration commands are in English.

>    RightTitleUpsideRight (default) /  RightTitleUpsideLeft

Here I am really confused, maybe the reason is that my english is
poor, but I am unable to understand the logic of these names :o)

Olivier

---

From: Mikhael Goikhman <[email-masked]>
Date: Sat, 16 Mar 2002 14:56:54 +0000

> fvwm configuration commands are in English.

Yes, of course, text directions LTR or RTL should not affect these options
at all. Because the same window may have text LTR and RTL at different
times, the text should not unexpectedly change rotation from +90 to -90.

So I think my names are not ambiguos because they speak about rotation and
names like LeftTitleBottomToTop are somewhat ambiguos, because not every
language naturally written BottomToTop is rotated against the clock.

> poor, but I am unable to understand the logic of these names :o)

I may only guess that my usage of the word "Upside" is correct, I think
yes. An explanation of my options when the text is "OK".

UpsideRight means that the text is rotated like this:

  <> |
     |  the upper side of the text is at the right
  -- |
  /\ |

UpsideLeft means that the text is rotated like this:

  | \/
  | --
  |
  | <>

UpsideUp means that the text is rotated like this (not really rotated):

  -----
  <> |<

UpsideDown means that the text is rotated like this:

  >| <>
  -----

I hope I explained myself well now, I would like to here your opinion.

Regards,
Mikhael.

---

From: Dan Espen <[email-masked]>
Date: Sat, 16 Mar 2002 10:35:29 -0500

> UpsideRight means that the text is rotated like this:

UpsideDown sounds OK, but the other variations sound weird.

If I understand what this is trying to say is that the top of
the text is oriented in different directions.  How about:

TopLeft
TopRight
TopUp
TopDown

-- 
Dan Espen                           E-mail: [email-masked]
444 Hoes Lane  Room RRC 1C-214      Phone: (732) 699-5570
Piscataway, NJ 08854
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked]

---

From: Mikhael Goikhman <[email-masked]>
Date: Sat, 16 Mar 2002 16:24:25 +0000

> the text is oriented in different directions.  How about:

"Top" is already used in options "TitleAtTop", "StaysOnTop" and possible
"ButtonsTopLeftToBottomRight" that are all quite different. But I have no
objections to replace "Upside" with "Top" or "TopLine" ot other name that
sounds better.

Regards,
Mikhael.

---

From: Danek Duvall <[email-masked]>
Date: Sat, 16 Mar 2002 09:34:20 -0800

On Sat, Mar 16, 2002 at 04:24:25PM +0000, Mikhael Goikhman wrote:

> "Top" is already used in options "TitleAtTop", "StaysOnTop" and
> possible "ButtonsTopLeftToBottomRight" that are all quite different.
> But I have no objections to replace "Upside" with "Top" or "TopLine"
> ot other name that sounds better.

Just to throw in more ideas, how about rotation terms -- Clockwise,
Counterclockwise, and UpsideDown, or variations on the CW/CCW theme?

Danek

---

From: Olivier Chapuis <[email-masked]>
Date: Sun, 17 Mar 2002 07:54:46 +0100

> language naturally written BottomToTop is rotated against the clock.

Which language(s)?

> yes. An explanation of my options when the text is "OK".

The sentence "... the upper side of the text ..." clearly explain
the meaning of your config option names.

> UpsideDown means that the text is rotated like this:

I do not understand for what we need TopTitleUpsideDown and 
BottomTitleUpsideDown style.

Also to add to my confusion if you take the string "MA" 
UpsideDown means the follwing rotation:

   |  |\__/ 
   |/\| \/  
   -------- 

what about

   \__/|  |
    \/ |/\|
   --------

? :o)

Really I am ready to adopt any naming scheme. I take 2 hours
to write this message and now I am quite nervous!
Two hours for nothing ...
Please send 2 or 4 names and concrete explaination for
the horizontal rotations.

Olivier

---

From: Mikhael Goikhman <[email-masked]>
Date: Sun, 17 Mar 2002 12:17:59 +0000

> > language naturally written BottomToTop is rotated against the clock.

Arabic versus English? My point is this.

TextWrittenBottomToTop may mean every thing.

TextRotatedClockWise may mean only one thing.

> UpsideDown means the follwing rotation:

Only the second resulted from a rotation, this is useful.
The first one resulted from a mirroring, this is not useful.

> Two hours for nothing ...

Sorry about this. Well, we all spend a lot of hours just reading email...

> the horizontal rotations.

LeftTitleRotatedClockWise / LeftTitleRotatedCounterClockWise
RightTitleRotatedClockWise / RightTitleRotatedCounterClockWise

I don't really suggest to implement the following 2, but anyway:

TopTitleNotRotated / TopTitleRotated
BottomTitleNotRotated / BottomTitleRotated

BTW, I really like your work on xft, it is amazing.

Regards,
Mikhael.

---

From: Olivier Chapuis <[email-masked]>
Date: Mon, 18 Mar 2002 12:48:41 +0100

> RightTitleRotatedClockWise / RightTitleRotatedCounterClockWise

Done
 
> BottomTitleNotRotated / BottomTitleRotated

We will implement this in the future if it is really needed.

Olivier