[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Search]

Re: emacspeak and w3



I think I have the set-up you are looking for.  I have the following
variables that seem to be pertinent:

'(w3-default-stylesheet "~/.w3/default.css")
'(w3-honor-stylesheets nil)
'(w3-user-colors-take-precedence t)
'(w3-user-fonts-take-precedence t)

I have also attached my default.css file.  I have a black background
with the paragraph text in white.  Since we are both in the same boat as
concerns vision, I think this will work for you... that is unless
something else is in the way.

Best regards,
rdc

/******************************************************************************
**       File: default.css
**    Purpose: Default Stylesheet for Emacs/W3
**       Info: Copyright (c) 1995-1996 William M. Perry <wmperry@xxxxxxxxxxx>
**             Copyright (c) 1997 Free Software Foundation, Inc.
**    Created: William M. Perry <wmperry@xxxxxxxxxxx>, Aug-31-1995
** Maintainer: William M. Perry <wmperry@xxxxxxxxxxx>
**
**  This contains the top level fallback default styles for Emacs/W3
**
*******************************************************************************
**
** To specify device-dependent styles, you must mark a section with
** @media devicetype { ... }
** If you are not using 'devicetype', then anything within the { ... }
** is ignored.
**
** These sections are currently defined by
** http://www.w3.org/pub/WWW/Style/Group/WD-PRINT-961220
** 
**    print  - output for paged opaque material, and for documents viewed
**             on screen in print preview mode
**    screen - a continuous presentation of computer screens
** projector - paged presentation for projected presentations
**   braille - for braille tactile feedback devices
**    speech - aural presentation
**       all - the default value, applies to all output devices
**
** There are a few special Emacs/W3 sections
**
**     emacs - only include this chunk if you are using Emacs 19
**    xemacs - only include this chunk if you are using XEmacs
** multifont - only include this chunk if you are using a multi-font capable Emacs variant
**   unifont - only include this chunk if you are using a uni-font capable Emacs variant
**     light - only include this chunk if you are using a light background
**      dark - only include this chunk if you are using a dark background
**       tty - only include this chunk if you are using a TTY
**  ansi-tty - only include this chunk if you are using an ANSI-capable TTY 
*******************************************************************************
**
** There are some things this stylesheet cannot really specify, that we 
** must rely on the browser to explicitly handle correctly:
**
** o table formatting
** o actually creating a hyperlink from an <a> tag and its attributes
** o specifying which tags open lists
** o inlined images
** o frames (perhaps with positioning)
** o applet/script/embed/object
** o horizontal rules
******************************************************************************/

body { 
    background-color: black; 
    color: white; 
    font-family: monospace; 
    font-size: 18pt;
}

p { 
    color: white;
    font-weight: normal; 
    display: block; 
    background-color: black; 
    font-family: monospace; 
    font-size: 18pt; 
}

img { 
    color: black;
    font-weight: bold;
    display: block; 
    background-color: dodgerblue;
    font-family: monospace; 
    font-size: 12pt; 
}


br { 
    display: line; 
}

hr { 
    display: line; 
    text-align: center; 
}

span { 
    color: white; 
    background-color: black; 
    font-family: monospace; 
    font-size: 18pt; 
}

h1 {
    displayy: block;
    color: steelblue3;
    font-weight: bold;
    background-color: black;
    font-family: monospace; 
    font-size: 30pt;
}

h2 {
    displayy: block;
    color: steelblue3;
    font-weight: bold;
    background-color: black;
    font-family: monospace; 
    font-size: 26pt;
}

h3 {
    displayy: block;
    color: steelblue3;
    font-weight: bold;
    background-color: black;
    font-family: monospace; 
    font-size: 22pt;
}

h4 {
    displayy: block;
    color: steelblue3;
    font-weight: bold;
    background-color: black;
    font-family: monospace; 
    font-size: 18pt;
}

h5 {
    displayy: block;
    color: steelblue3;
    font-weight: bold;
    background-color: black;
    font-family: monospace; 
    font-size: 16pt;
}

h6 {
    displayy: block;
    color: steelblue3;
    font-weight: bold;
    background-color: black;
    font-family: monospace; 
    font-size: 16pt;
}

pre,xmp,plaintext { 
    display: block; 
    white-space: pre; 
    color: chocolate1; 
    font-family: monospace; 
    background-color: black;
    font-size: 18pt;
    margin: 0px 15px
}

key,code,tt,kbd,var { 
    display: block;
    color: chocolate1; 
    font-family: monospace; 
    background-color: black;
    font-size: 18pt;
    margin: 0px 15px
} 

blockquote {
    display: block;
    margin-left: 1em;
    margin-right: 1em; 
    background-color: black;
    color: white;
    font-family: monospace; 
    font-size: 18pt; 
}

ul { 
    display: block;
    list-style: disc; 
}

ol { 
    display: block;
    list-style: decimal; 
}

dl { 
    display: block;
}

dir { 
    display: block;     
}

menu { 
    display: block;     
}

dt {
    color: white;
    background-color: black;
    font-weight: bold; 
    display: line; 
    font-family: monospace; 
    font-size: 18pt;
}

dd { 
    color: white;
    background-color: black;
    display: line; 
    margin-left: 1.5em; 
    font-family: monospace; 
    font-size: 18pt; 
}

li { 
    color: white;
    background-color: black;
    display: list-item; 
    margin-left: 0.5em; 
    font-family: monospace; 
    font-size: 18pt; 
}

/* These are to make nested list items look better */
ul ul,ol ul,ol ol,ul ol { 
    display: line; 
}

div { 
    display: line;
    color: white;
    background-color: black;
    font-family: monospace; 
/*    font-size: +8pt;  */
}

strong,em,b { 
    color: blue;
    background-color: black;
    font-weight: bold;
    font-family: monospace; 
/*    font-size: +12pt; */
}

dfn { 
    color: white;
    background-color: black;
    font-style: italic;
    font-family: monospace; 
/*    font-size: +12pt; */
}

s,strike { 
    color: green;
    background-color: black;
    text-decoration: line-through;
    font-family: monospace; 
/*    font-size: +12pt; */
}

sub { 
    text-position: sub;
}

sup { 
    text-position: sup;
}

secret { 
    text-transform: rot13;
}

i { 
    color: orange1;
    background-color: black;
    font-style: bold;
    font-family: monospace; 
/*    font-size: +12pt; */
}

u { 
    color: orange;
    background-color: black;
    text-decoration: underline;
    font-style: bold;
    font-family: monospace; 
/*    font-size: +12pt; */
}

center { 
    color: white;
    background-color: black;
    display: line; 
    text-align: center; 
    font-family: monospace; 
/*    font-size: +12pt; */
}

/*
** Hypertext link coloring
*/

a:link { 
    color: dodgerblue;
    font-style: bold;
    background-color: black;
    text-decoration: underline;
    font-family: monospace; 
/*    font-size: +12pt; */
}

a:visited { 
    color: red; 
    font-style: bold;
    background-color: black;
    text-decoration: underline;
    font-family: monospace; 
/*    font-size: +12pt; */
}

a:active { 
    color: maroon;
    font-style: bold;
    background-color: black;
    text-decoration: underline;
    font-family: monospace; 
/*    font-size: +12pt; */
}

/*
** Table formatting
*/

table { 
    display: block; 
    background-color: black; 
    color: white; 
}

th { 
    display: block; 
    font-weight: bold; 
    text-align: center; 
    background-color: black; 
    color: blue;
    font-family: monospace; 
    font-size: +12pt;
}

td { 
    display: block; 
    text-align: left;
    color: white;
    background-color: black;
    font-family: monospace; 
/*    font-size: +12pt; */
}

caption { 
    color: white;
    background-color: black;
    display: block;
    text-align: center;
    font-family: monospace; 
/*    font-size: +12pt; */
}

/*
** Various other character-level formatting issues
*/

address { 
    text-align: right;
    display: line;
    color: white;
    background-color: black; 
    font-family: monospace; 
/*    font-size: +12pt; */
}

abstract { 
    font-style: bold & italic;
    text-align: indent; 
    color: white; 
    background-color: black;
    font-family: monospace; 
/*    font-size: +12pt; */
}

quote,q,cite {
    font-style: italic; 
    text-align: indent;
    color: white;
    background-color: black;
    font-family: monospace; 
/*    font-size: +12pt; */
}

/*
** How to draw form elements.
** This is an extension in Emacs/W3 (and perhaps soon E-Scape)
** Since there are so many different types of input fields, you should be
** able to control formatting based on that.  Enter pseudo-classes.
**
** This functionality will be removed as soon as the W3C comes up with
** the standard way to do this, perhaps in CSS level 2.
*/

input:int,
input:float,
input:url,
input:password,
input:text    { 
    text-decoration: underline; 
    background-color: black;
    color: white;
    font-style: bold;
    font-family: monospace; 
/*    font-size: +12pt; */
}

input:submit  { 
    color: green;
    text-decoration: none; 
    font-style: bold;
    font-family: monospace; 
/*    font-size: +12pt; */
}

input:reset   {
    color: red;
    text-decoration: none; 
    font-style: bold;
    font-family: monospace; 
/*    font-size: +12pt; */
}

input:button  { 
    color: yellow;
    text-decoration: none;
    font-style: bold;
    font-family: monospace; 
/*    font-size: +12pt; */
}

input:image   { 
    text-decoration: none;
    font-style: bold; 
}

/*
** Secial styles for the Emacspeak subsystem of emacs - an incredibly cool
** speech synthesizer.  This was contributed by T.V. Raman (raman@xxxxxxxxxxx)
*/

@media speech {
h1,h2,h3,
h4,h5,h6 { voice-family: paul; stress: 2; richness: 9; }
      h1 { pitch: 1; pitch-range: 9; }
      h2 { pitch: 2; pitch-range: 8; }
      h3 { pitch: 3; pitch-range: 7; }
      h4 { pitch: 4; pitch-range: 6; }
      h5 { pitch: 5; pitch-range: 5; }
      h6 { pitch: 6; pitch-range: 4; }

li,dt,dd { pitch: 6; richness: 6; }
      dt { stress: 8; }
      th { pitch: 6; pitch-range: 6; stress: 9; richness: 9; }

pre,xmp,plaintext,key,code,tt { pitch: 5; 
				pitch-range: 0;
				stress: 0;
				richness: 8;
			      }

      em { pitch: 6; pitch-range: 6; stress: 6; richness: 5; }
  strong { pitch: 6; pitch-range: 6; stress: 9; richness: 9; }
     dfn { pitch: 7; pitch-range: 6; stress: 6; }
s,strike { richness: 0; }
       i { pitch: 8; pitch-range: 6; stress: 6; richness: 5 }
blockquote { pitch: 6; pitch-range: 6; stress: 6; richness: 5 }
       b { pitch: 2; pitch-range: 4; stress: 5; richness: 9; }
       u { richness: 0; }
   a:link { voice-family: betty; pitch: 3; richness: 9; }
	    //pitch: 0; 
a:visited { voice-family: betty; pitch: 7; richness: 9;}
 a:active { voice-family: betty; pitch-range: 8; pitch: 8 }
      img { pitch: 6; pitch-range: 6; stress: 6; richness: 5; }

} // @media speech

/*
** All the TTY specific formatting
*/

@media tty {
/*
** First, handle some stuff for generic TTYs to emulate our old
** behaviour with w3-delimit-links and a subset of w3-delimit-emphasis
*/

h1,h2,h3,
h4,h5,h6 {
           insert-before: *;
           insert-after: *
         }

a:visited{
           insert-before: "{{";
           insert-after: "}}"
         }

a:link   {
           insert-before: "[[";
           insert-after: "]]"
         }

input:text,
input:int,
input:float,
input:url,
input:file,
input:password,
input:text    { insert-before: "[{"; insert-after: "}]"; }
select { insert-before: "[{"; insert-after: "}]"; }

} // @media tty


@media ansi-tty {
/*
** Now comes the cool TTY stuff.  You will need to be using XEmacs 19.14
** or later (or Emacs 19.30 under DOS) in order to get any benefit from
** these whatsoever.  But if you are using one of these, wow, cool, eh?
**
** ANSI specifies these colors, and most (all?) TTYs that support color
** will generally have 2 versions.  One normal and one bright or 'standout'
** version.
**
**  Color     R     G     B
** --------------------------
**   white - 1.0 , 1.0 , 1.0
**    cyan - 0.0 , 1.0 , 1.0
** magenta - 1.0 , 0.0 , 1.0
**    blue - 0.0 , 0.0 , 1.0
**  yellow - 1.0 , 1.0 , 0.0
**   green - 0.0 , 1.0 , 0.0
**     red - 1.0 , 0.0 , 0.0
**   black - 0.0 , 0.0 , 0.0
*/

h1,h2,h3,
h4,h5,h6  { color : cyan     }
a:visited { color : magenta  }
   a:link { color : red      }
 a:active { color : yellow   }
} // @media ansi-tty

@media experimental {
table    { display: table; }
tr       { display: table-row; }
thead    { display: table-header-group; }
tbody    { display: table-row-group; }
tfoot    { display: table-footer-group; }
col      { display: table-column; }
colgroup { display: table-column-group; }
td, th   { display: table-cell; }
caption  { display: table-caption; }
} // @media experimental

Tim Cross <theophilusx@xxxxxxxxxxx> writes:

> thanks Raman. Will look into the mime stuff.
>
> Unfortunately, colour themes, x-resources and face customizations are
> all no good with w3 and have no effect. The w3 code dynamically
> creates faces on the fly. I've looked at this stuff in the past, but
> it is quite complicated and I tend to disappear down the rabbit whole
> each time I try to get a handle on it. Part of the problem is that the
> issue appears to be a combination of many smaller issues, so fixing
> one doesn't help - you need to fix them all. Some of them are similar
> to issues that have come up in other areas - for example, having a
> decent metric to ensure foreground/background colours are distinct or
> distant enough from each other to be readable, dealing with
> inconsistent/bad style settings, recognition of some users preference
> for a black/dark background etc etc.
>
> I've made several attempts to fix/improve this in the past, but either
> get distracted or loose momentum. However, I'm very keen to get decent
> epub support within emacspeak, so maybe there is more motivation to
> try harder! The first thing I need to do is increase my knowledge re:
> CSS, DOM, etc. This has not been a focus in my work for the last 10+
> years, so I'm not up to speed in this area yet.
>
> Always good to have a new challenge! Just wish I could work on this
> stuff all the time and not spend so many mind numbing hours in the
> corporate world, where technology seems to be relegated to the
> basement, being replaced by project managers, cloud services and
> vendor management! If I had better cane skills and could move faster,
> bank robbery would be a serious option.
>
> Tim
>
> On 9 May 2012 01:17, T.V. Raman <tv.raman.tv@xxxxxxxxxxx> wrote:
>> Mime t tweaking -- admittedly this is a mess with w3.
>>
>> I believe my patches included a modification where
>> application/xhtml+xml was handled on the same lines as text/html
>> --- you also need to customize some of the mm- variables. Check
>> in emacspeak/tvr -- if not already there, I'll check in the
>> settings you need.
>>
>> For the white-on-white problem, try switching emacs color themes
>> --
>> --
>>
>> --
>>
>>
>> On 5/7/12, Tim Cross <theophilusx@xxxxxxxxxxx> wrote:
>>> The quick and dirty 'fix' I applied for this werror is to comment out
>>> the two lines from w3-speak.el which require emacspeak-fix-interactive
>>> at cimpile time. This stops the make process from exiting early and
>>> ensures the rest of the *.el files are compiled. It does not appear to
>>> have any dramatic impact.
>>>
>>> Raman, I looked at your patch from your w3 and I think your right. It
>>> looks like all you changes do is remove some of the excessive
>>> 'padding' w3 was doing when rendering things like lists and
>>> blockquote. On my system, the unmodified version would put boxquote
>>> elements and lists right over on the right hand side - so much so that
>>> blockquotes would end up being rendered as only one or two words per
>>> line. I found that modifying the default.css file to change all margin
>>> settings from 5em to 1em greatly improved things.
>>>
>>> One remaining and extremely frustrating issue I have is that on some
>>> pages, regardless of style sheet settings, w3 renders the page with
>>> white background and white foreground/text or white background and
>>> light grey text. As someone who actualy finds looking at a screen with
>>> a white background physically painful, this is somewhat frustrating. I
>>> did look at this a while back as it was the main reason I stopped
>>> ujsing w3 and from memory, it is due to a bad interaction with pages
>>> that have either forced a background colour and don't set any
>>> text/foreground colour and/or conflicts between css settings and 'hard
>>> coded' page settings. Maybe it is time to look at it again.
>>>
>>> I also suspect I have to do some MIME tweaking. When using the epub
>>> feature, it works with some epub titles, but fails with others. In
>>> particular, seems to fail with titles generated primarily for the
>>> kindle. With these titles, instead of opening the content, it asks me
>>> where to same the MIME object. Need to investigate further.
>>>
>>> Tim
>>>
>>>
>>> On 8 May 2012 14:09, T. V. Raman <tv.raman.tv@xxxxxxxxxxx> wrote:
>>>> this error has been around for a long time and shouldn't affect anything.
>>>>
>>>>>>>>> "Bart" == Bart Bunting <bart@xxxxxxxxxxx> writes:
>>>> Â ÂBart> Raman, et al, Whilst we are discussing w3 I am seeing
>>>> Â ÂBart> issues when doing a make on the w3 source. It appears
>>>> Â ÂBart> to be related to emacspeak libraries not being found.
>>>> Â ÂBart>
>>>> Â ÂBart> Having said that w3 itself appears to work even with
>>>> Â ÂBart> the error.
>>>> Â ÂBart>
>>>> Â ÂBart> Is this normal?
>>>> Â ÂBart>
>>>> Â ÂBart> I see this both under linux and on my mac.
>>>> Â ÂBart>
>>>> Â ÂBart> Here is the make error:
>>>> Â ÂBart>
>>>> Â ÂBart> bart@xxxxxxxxxxx:~/.emacs.d/src/w3$make cd lisp && make w3
>>>> Â ÂBart> GNUSDIR=/usr/local/emacs/24.96/share/emacs/24.0.96/lisp/gnus/
>>>> Â ÂBart> URLDIR=/usr/local/emacs/24.96/share/emacs/24.0.96/lisp/url/
>>>> Â ÂBart> W3SRCDIR=. emacs -batch -q -no-site-file -l ./docomp.el
>>>> Â ÂBart> -l
>>>> Â ÂBart> /usr/local/emacs/24.96/share/emacs/24.0.96/lisp/url//url-vars.el
>>>> Â ÂBart> -l ./w3-vars.el -f batch-byte-compile w3-display.el
>>>> Â ÂBart> uncompressing url-vars.el.gz... uncompressing
>>>> Â ÂBart> url-vars.el.gz...done Wrote w3-display.elc
>>>> Â ÂBart> GNUSDIR=/usr/local/emacs/24.96/share/emacs/24.0.96/lisp/gnus/
>>>> Â ÂBart> URLDIR=/usr/local/emacs/24.96/share/emacs/24.0.96/lisp/url/
>>>> Â ÂBart> W3SRCDIR=. emacs -batch -q -no-site-file -l ./docomp.el
>>>> Â ÂBart> -l
>>>> Â ÂBart> /usr/local/emacs/24.96/share/emacs/24.0.96/lisp/url//url-vars.el
>>>> Â ÂBart> -l ./w3-vars.el -f batch-byte-compile w3-speak.el
>>>> Â ÂBart> uncompressing url-vars.el.gz... uncompressing
>>>> Â ÂBart> url-vars.el.gz...done
>>>> Â ÂBart>
>>>> Â ÂBart> In toplevel form: w3-speak.el:49:1:Error: Cannot open
>>>> Â ÂBart> load file: emacspeak-fix-interactive make[1]: ***
>>>> Â ÂBart> [w3-speak.elc] Error 1 make: *** [w3] Error 2
>>>> Â ÂBart>
>>>> Â ÂBart>
>>>> Â ÂBart> Cheers
>>>> Â ÂBart>
>>>> Â ÂBart> Bart
>>>> Â ÂBart>
>>>> Â ÂBart> "T.V. Raman" <tv.raman.tv@xxxxxxxxxxx> writes:
>>>> Â ÂBart>
>>>> Â Â>> Tim, Per your suggestion, I have checked in
>>>> Â Â>> emacspeak/tvr/tvr-w3.patch --- the patch was created from
>>>> Â Â>> my local snapshot with git diff origin/master
>>>> Â Â>>
>>>> Â Â>> after making sure that git pull -a claimed my local
>>>> Â Â>> snapshot was uptodate.
>>>> Â Â>>
>>>> Â Â>> Glancing at the patch -- I dont see anything significant
>>>> Â Â>> that should make w3 work here and not from the git repo.
>>>> Â Â>>
>>>> Â Â>> The git repo I am refering to is: git config
>>>> Â Â>> remote.origin.url git://git.sv.gnu.org/w3.git
>>>> Â Â>> --
>>>> Â Â>>
>>>> Â Â>> --
>>>> Â Â>>
>>>> Â Â>>
>>>> Â Â>> On 5/7/12, Tim Cross <theophilusx@xxxxxxxxxxx> wrote:
>>>> Â Â>>> Hi Raman,
>>>> Â Â>>>
>>>> Â Â>>> I've been attempting to get w3 working and while I've
>>>> Â Â>>> finally got it going, it was not trivial.
>>>> Â Â>>>
>>>> Â Â>>> I think part of the problem is that there has been no
>>>> Â Â>>> updates to the w3 repository since May 2008. I know there
>>>> Â Â>>> has been a couple of patches from you and others to fix
>>>> Â Â>>> various bugs, but hunting them down and applying them is
>>>> Â Â>>> not easy. On this basis, I wanted to make a suggestion.
>>>> Â Â>>>
>>>> Â Â>>> Would it be possible for you to do a diff against the
>>>> Â Â>>> current w3 repository code and the version of w3 you are
>>>> Â Â>>> running and put the diffs in a w3-patches directory
>>>> Â Â>>> within the emacspeak distribution. This would make it
>>>> Â Â>>> esier to anyone wanting to run w3 to apply the same
>>>> Â Â>>> patches you have been using. In addition to making it
>>>> Â Â>>> easier for users, it may help in tracking down problems
>>>> Â Â>>> as we will have a common base everyone is working from.
>>>> Â Â>>>
>>>> Â Â>>> regards,
>>>> Â Â>>>
>>>> Â Â>>> Tim
>>>> Â Â>>>
>>>> Â Â>>>
>>>> Â Â>>> --
>>>> Â Â>>> Tim Cross
>>>> Â Â>>>
>>>> Â Â>>>
>>>> -----------------------------------------------------------------------------
>>>> Â Â>>> To unsubscribe from the emacspeak list or change your
>>>> Â Â>>> address on the emacspeak list send mail to
>>>> Â Â>>> "emacspeak-request@xxxxxxxxxxx" with a subject of
>>>> Â Â>>> "unsubscribe" or "help".
>>>> Â Â>>>
>>>> Â Â>>>
>>>> Â Â>>
>>>> Â Â>>
>>>> -----------------------------------------------------------------------------
>>>> Â Â>> To unsubscribe from the emacspeak list or change your
>>>> Â Â>> address on the emacspeak list send mail to
>>>> Â Â>> "emacspeak-request@xxxxxxxxxxx" with a subject of
>>>> Â Â>> "unsubscribe" or "help".
>>>>
>>>> --
>>>> Best Regards,
>>>> --raman
>>>
>>>
>>>
>>> --
>>> Tim Cross
>>>

-- 
Robert D. Crawford                                     robdcraw@xxxxxxxxxxx


If you have questions about this archive or had problems using it, please send mail to:

priestdo@xxxxxxxxxxx No Soliciting!

Emacspeak List Archive | 2010 | 2009 | 2008 | 2007 | 2006 | 2005 | 2004 | 2003 | 2002 | 2001 | 2000 | 1999 | 1998 | Pre 1998

Emacspeak Files | Emacspeak Blog