On 10.06.05, Angus Leeming wrote:
> On Friday 10 June 2005 14:05, G. Milde wrote:
> > On 10.06.05, Angus Leeming wrote:
> > > Lars Gullik Bjønnes wrote:

> > > > | Unfortunately, This script both stores and manipulates the
> > > > | raw data ...
> > > >
> > > > Agree.. one of the remaining bad things about g_c.py.
> > >
> > > Political correctness gone mad. If you think I'm going to write a
> > > parser for a text file containing the same data in some arbitrary
> > > format then you're wrong.
> >
> > Would you accept if I write it for you?
> 
> I never look a gift horse in the mouth. (Translation: certainly.)
> Angus

Please have a look at the attached horse, just in case there are some bugs
left. 

Günter


-- 
G.Milde web.de
#! /usr/bin/env python
# -*- coding: utf-8 -*-

"""
file generate_contributions.py
This file is part of LyX, the document processor.
Licence details can be found in the file COPYING.

author Angus Leeming
data reader and writer by Guenter Milde
Full author contact details are available in file CREDITS

This script manipulates the raw data needed to create CREDITS, credits.php
and blanket-permission.php

The data itself is stored as the tab separated valuse in the file
contributers.txt

Usage:
$ python generate_contributions.py \
  CREDITS \
  credits.php \
  blanket-permission.php

where the arguments are the names of the generated files.
"""

import codecs, sys, textwrap

def xml_escape(s):
    s = s.replace("&", "&")
    s = s.replace("<", "&lt;")
    s = s.replace(">", "&gt;")
    s = s.replace('"', '&quot;')
    return s


class contributer:
     def __init__(self,
                  name,
                  contact,
                  licence,
                  permission_title,
                  archive_id,
                  permission_date,
                  credit):
          self.name = name
          self.contact = contact
          self.licence = licence
          self.permission_title = permission_title
          self.archive_id = archive_id
          self.permission_date = permission_date
          self.credit = credit
     
     def as_list(self):
         """Return fields as an ordered list"""
         return [self.name, 
                 self.contact,
                 self.licence,
                 self.permission_title,
                 self.archive_id,
                 self.permission_date,
                 self.credit
                 ]
     
     def __str__(self):
         """Return a string representation"""
         return "\n".join(self.as_list())
     
     def as_txt_credits(self):
          result = [ '@b%s\n' % self.name ]
          if len(self.contact) != 0:
               if self.contact.find("http") != -1:
                    result.append('@i%s\n' % self.contact)
               else:
                    ename, address = self.contact.split(" () ", 1)
                    address = address.replace(" ! ", ".")
                    contact = "[EMAIL PROTECTED]" % (ename, address)
                    result.append('@iE-mail: %s\n' % contact)
          result.append('   %s\n' % self.credit)
          return "".join(result)


     def as_php_credits(self, wrapper):
          return """
contrib("%s",
        "%s",
        "%s");
""" % ( xml_escape(self.name),
        xml_escape(self.contact),
        "\n".join(wrapper.wrap(xml_escape(self.credit))) )


     def as_php_blanket(self):
          return """
contrib("%s",
        "%s",
        "%s",
        "%s",
        "%s");
""" % ( xml_escape(self.name),
        xml_escape(self.contact),
        xml_escape(self.permission_title),
        xml_escape(self.archive_id),
        xml_escape(self.permission_date) )



def error(message):
     if message:
          sys.stderr.write(message + '\n')
     sys.exit(1)


def usage(prog_name):
     return "Usage: %s <CREDITS> <credits.php> <blanket-permission.php>" % prog_name


def collate_incomplete(contributers):

    missing_credit = []
    missing_licence = []
    for contributer in contributers:
          if len(contributer.credit) == 0:
              missing_credit.append(contributer.name)
          if len(contributer.licence) == 0:
              missing_licence.append(contributer.name)

    return """WARNING!
The following contributers to not have a CREDITS entry:
    %s

These ones have no explicit licence statement:
    %s
""" % ( ",\n    ".join(missing_credit), ",\n    ".join(missing_licence))


def as_txt_credits(contributers):
     results = []

     for contributer in contributers:
          if len(contributer.credit) != 0:
              results.append(contributer.as_txt_credits())

     results.append("""

If your name doesn't appear here although you've done
something for LyX, or your entry is wrong or incomplete,
just drop some e-mail to [EMAIL PROTECTED] Thanks.
""")

     return "".join(results)


def header(title, file):
     return """<?php
// WARNING! This file is autogenerated.
// Any changes to it will be lost.
// Please modify generate_contributions.py direct.

// What's the title of the page?
$title = "%s";
// Who is the author?
$author="[email protected]";
// Full name of this file (relative path from LyX home page)
$file_full="about/%s";

include("start.php3");
?>
""" % ( title, file )


def footer():
     return """
<?php
include("end.php3");
?>
"""

def as_php_credits(contributers, file):
     results = []

     results.append(header("CREDITS", file))

     results.append("""
<?
function contrib($name, $email, $msg) {

echo "

 <dt>
  <b>${name}</b>
";

if (isset($email) && $email != "")
        echo "  <i>&lt;${email}&gt;</i>";

$msg = ereg_replace("\\n *", "\\n  ", ltrim($msg));

echo "
 </dt>
 <dd>
  ${msg}
 </dd>";
}

?>

<p>
     If your name doesn't appear here although you've done
     something for LyX, or your entry is wrong or incomplete,
     just drop an e-mail to the
     <a href="mailto:[email protected]">lyx-devel</a>
     mailing list. Thanks.
</p>

<dl><?php""")

     wrapper = textwrap.TextWrapper(width=60, subsequent_indent="         ")

     for contributer in contributers:
          if len(contributer.credit) != 0:
               results.append(contributer.as_php_credits(wrapper))

     results.append("""?>

</dl>
""")
     results.append(footer())
     return "".join(results)


def as_php_blanket(contributers, file):
     results = []

     results.append(header("Permissions", file))

     results.append("""
<?
function contrib($name, $email, $msg_title, $msg_ref, $date) {

echo "

 <dt>
  <b>${name}</b>
  <i>&lt;${email}&gt;</i>
 </dt>
 <dd>
  See the lyx-devel mailing list message
  &quot;";

if (isset($msg_ref) && $msg_ref != "") {
        $msg_ref = htmlspecialchars("$msg_ref");
        echo "<a href=\\"http://marc.theaimsgroup.com/?l=lyx-devel&amp;${msg_ref}\\";>${msg_title}</a>";
} else {
        echo "${msg_title}";
}

echo "&quot;
  of $date.
 </dd>";
}

?>

<p>
     The following people hereby grant permission to licence their
     contributions to LyX under the
     <a href="http://www.opensource.org/licenses/gpl-license.php";>
     Gnu General Public Licence</a>, version 2 or later.
</p>

<dl><?php""")

     for contributer in contributers:
          if contributer.licence == "GPL":
               results.append(contributer.as_php_blanket())

     results.append("""?>
</dl>

<p>
     The following people hereby grant permission to licence their
     contributions to LyX under the
     <a href="http://www.opensource.org/licenses/artistic-license.php";>
     Artistic Licence</a>.
</p>

<dl>
<?php""")

     for contributer in contributers:
          if contributer.licence == "Artistic":
               results.append(contributer.as_php_blanket())

     results.append("""?>
</dl>
""")

     results.append(footer())
     return "".join(results)


def main(argv, contributers):
     if len(argv) != 4:
          error(usage(argv[0]))

     txt_credits_data = unicode(as_txt_credits(contributers)) \
                        .encode("latin1", "xmlcharrefreplace")
     # This is a fudge to give a 'reasonable' spelling of Matej's name.
     txt_credits_data = txt_credits_data.replace('&#283;', 'e')
     txt_credits = open(argv[1], "w")
     txt_credits.write(txt_credits_data)

     php_credits_data = unicode(as_php_credits(contributers, argv[2])).encode("utf-8")
     php_credits = open(argv[2], "w")
     php_credits.write(php_credits_data)

     php_blanket_data = unicode(as_php_blanket(contributers, argv[3])).encode("utf-8")
     php_blanket = open(argv[3], "w")
     php_blanket.write(php_blanket_data)

     warning_data =  unicode(collate_incomplete(contributers) + '\n').encode("utf-8")
     sys.stderr.write(warning_data)


# Store the raw data.
def write_contributers_list(contributers, filename="contributers.txt"):
    """Write the contributers data in a CSV (tab separated) file"""
    header = "# contributers to the LyX Document Processor\n" \
           + "# %s\n" % "\t".join(("name",
                                   "contact",
                                   "licence",
                                   "permission_title",
                                   "archive_id",
                                   "permission_date",
                                   "credit"
                                 ))
    contrib_list = ["\t".join(entry.as_list()) for entry in contributers]
    contrib_string = unicode("\n".join(contrib_list)).encode("utf-8")
    datafile = file(filename, "w")
    datafile.write(header)
    datafile.write(contrib_string)


def read_contributers_list(filename="contributers.txt"):
    """Read the contributers data from a tab separated file
    
    Return as list of contributer objects
    """
    datafile = file(filename)
    lines = [unicode(line.rstrip('\n'), "utf-8") for line in datafile
            if line[0] is not "#"]
    return [contributer(*line.split("\t")) for line in lines]


if __name__ == "__main__":
    contributers = read_contributers_list()
    main(sys.argv, contributers)          
# contributers to the LyX Document Processor
# name  contact licence permission_title        archive_id      permission_date 
credit
Maarten Afman   info () afman ! net     GPL     Fwd: Re: The LyX licence        
m=110958096916679       27 February 2005        Dutch translation team member
Asger Alstrup   aalstrup () laerdal ! dk        GPL     Re: Licensing of 
tex2lyx (and perhaps LyX itself?)      m=110899716913300       21 February 2005 
       General hacking of user interface stuff and those other bits and pieces
Pascal André   andre () via ! ecp ! fr GPL     Re: The LyX licence --- a 
gentle nudge  m=111263406200012       1 April 2005    External style definition 
files, linuxdoc sgml support and more ftp-site ftp.lyx.org
João Luis Meloni Assirati      assirati () nonada ! if ! usp ! br      GPL     
Re: The LyX licence     m=110918749022256       23 February 2005        Added 
support for unix sockets and thence the 'inverse DVI' feature
Yves Bastide    yves.bastide () irisa ! fr      GPL     Re: The LyX licence     
m=110959913631678       28 February 2005        Bug fixes
Heinrich Bauer  heinrich.bauer () t-mobile ! de GPL     Fwd: Re: The LyX 
licence        m=110910430117798       22 February 2005        Fixes for dvi 
output original version of page selection for printing
Georg Baum      georg.baum () post ! rwth-aachen ! de   GPL     Re: Licensing 
of tex2lyx (and perhaps LyX itself?)      m=110899912526043       21 February 
2005        tex2lyx improvements
Hans Bausewein  hans () comerwell ! xs4all ! nl GPL     Re: The LyX licence --- 
a gentle nudge  m=111262999400394       2 April 2005    "case insensitive" and 
"complete word" search
Graham Biswell  graham () gbiswell ! com        GPL     Re: The LyX licence     
m=111269177728853       5 April 2005    Small bugfixes that were very hard to 
find
Lars Gullik Bjønnes    larsbj () gullik ! net  GPL     Re: Licensing of 
tex2lyx (and perhaps LyX itself?)      m=110907078027047       22 February 2005 
       Improvements to user interface (menus and keyhandling) including a 
configurable toolbar and a few other (not so) minor things, like rewriting most 
of the LyX kernel. Also current source maintainer
Alfredo Braunstein      abraunst () lyx ! org   GPL     Re: The LyX licence     
m=110927069513172       24 February 2005        A (pseudo) threaded graphics 
loader queue, lots of fixes, etc.
Christian Buescher      christian.buescher () uni-bielefeld ! de                
                        User-definable keys, lyxserver and more
Johnathan Burchill      jkerrb () users ! sourceforge ! net     GPL     Re: The 
LyX licence     m=110908472818670       22 February 2005        Ported John 
Levon's original 'change tracking' code to later versions of LyX. Numerous bug 
fixes thereof.
Francesc Burrull i Mestres      fburrull () mat ! upc ! es                      
                Catalan translation
Matěj Cepl     matej () ceplovi ! cz   GPL     Re: The LyX licence     
m=110913090232039       22 February 2005        Improvements to the czech 
keymaps
Albert Chin     lyx-devel () mlists ! thewrittenword ! com      GPL     Re: The 
LyX licence --- a gentle nudge  m=111220294831831       30 March 2005   Bug 
fixes
Claudio Coco    lacocio () iol ! it                                     Italian 
translation
Matthias Kalle Dalheimer        kalle () kdab ! net     GPL     Re: The LyX 
licence     m=110908857130107       22 February 2005        Qt2 port
Matthias Ettrich        ettrich () trolltech ! com      GPL     Fwd: Re: The 
LyX licence        m=110959638810040       28 February 2005        Started the 
project, implemented the early versions, various improvements including 
undo/redo, tables, and much, much more
Baruch Even     baruch () ev-en ! org   GPL     Re: The LyX licence     
m=110936007609786       25 February 2005        New graphics handling scheme 
and more
Ronald Florence ron () 18james ! com    GPL     Re: The LyX licence --- a 
gentle nudge  m=111262821108510       31 March 2005   Maintainer of the OS X 
port(s)
Eitan Frachtenberg      sky8an () gmail ! com   GPL     Re: [PATCH] BibTeX 
annotation support   m=111130799028250       20 March 2005   
John Michael Floyd      jmf () pwd ! nsw ! gov ! au                             
        Bug fix to the spellchecker
Edscott Wilson Garcia   edscott () xfce ! org   GPL     Re: The LyX licence --- 
a gentle nudge  m=111219295119021       30 March 2005   Bug fixes
Stefano Ghirlanda       stefano.ghirlanda () unibo ! it GPL     Re: The LyX 
licence     m=110959835300777       28 February 2005        Improvements to 
lyxserver
Hartmut Goebel  h.goebel () crazy-compilers ! com       GPL     Re: The LyX 
licence --- a gentle nudge  m=111225910223564       30 March 2005   
Improvements to Koma-Script classes
Hartmut Haase   hha4491 () atomstromfrei ! de   GPL     Re: The LyX licence     
m=110915427710167       23 February 2005        German translation of the 
documentation
Helge Hafting   helgehaf () aitel ! hist ! no   GPL     Re: The LyX licence     
m=110916171925288       23 February 2005        Norwegian documentation and 
localization
Bennett Helm    bennett.helm () fandm ! edu     GPL     Re: The LyX licence     
m=110907988312372       22 February 2005        Maintainer of the OSX ports, 
taking over from Ronald Florence
Claus Hentschel claus.hentschel () mbau ! fh-hannover ! de                      
                Win32 port of LyX 1.1.x
Claus Hindsgaul claus_h () image ! dk   GPL     Re: The LyX licence     
m=110908607416324       22 February 2005        Danish translation
Bernard Hurley  bernard () fong-hurley ! org ! uk       GPL     Re: The LyX 
licence --- a gentle nudge  m=111218682804142       30 March 2005   Fixes to 
literate programming support
Bernhard Iselborn       bernhard.iselborn () sap ! com  GPL     RE: The LyX 
licence     m=111268306522212       5 April 2005    Some minor bug-fixes, FAQ, 
linuxdoc sgml support
Michal Jaegermann       michal () ellpspace ! math ! ualberta ! ca      GPL     
Re: The LyX licence     m=110909853626643       22 February 2005        Fix to 
a very hard-to-find egcs bug that crashed LyX on alpha architecture
David L. Johnson        david.johnson () lehigh ! edu   GPL     GPL     
m=110908492016593       22 February 2005        Public relations, feedback, 
documentation and support
Robert van der Kamp     robnet () wxs ! nl      GPL     Re: The LyX licence     
m=111268623330209       5 April 2005    Various small things and code 
simplifying
Amir Karger     amirkarger () gmail ! com       GPL     Re: The LyX licence     
m=110912688520245       23 February 2005        Tutorial, reLyX: the LaTeX to 
LyX translator
Carmen Kauffmann                                                Original name 
that is now two character shorter
KDE Artists     http://artist.kde.org/                                  Authors 
of several of the icons LyX uses
Andreas Klostermann     andreas_klostermann () web ! de GPL     
blanket-permission      m=111054675600338       11 March 2005   
Michael Koziarski       koziarski () gmail ! com        GPL     Re: The LyX 
licence     m=110909592017966       22 February 2005        Gnome port
Peter Kremer    kremer () bme-tel ! ttt ! bme ! hu                              
        Hungarian translation and bind file for menu shortcuts
Bernd Kümmerlen        bkuemmer () gmx ! net   GPL     Re: The LyX licence     
m=110934318821667       25 February 2005        Initial version of the 
koma-script textclasses
Felix Kurth     felix () fkurth ! de    GPL     Re: The LyX licence     
m=110908918916109       22 February 2005        Support for textclass g-brief2
Rob Lahaye      lahaye () snu ! ac ! kr GPL     Re: The LyX licence     
m=110908714131711       22 February 2005        Xforms dialogs and GUI related 
code
Jean-Marc Lasgouttes    jean-marc.lasgouttes () inria ! fr      GPL     Re: 
Licensing of tex2lyx (and perhaps LyX itself?)      m=110899928510452       21 
February 2005        configure and Makefile-stuff and more
Victor Lavrenko lyx () lavrenko ! pp ! ru                                       
Russian translation
Angus Leeming   leeming () lyx ! org    GPL     Re: Licensing of tex2lyx (and 
perhaps LyX itself?)      m=110899671520339       21 February 2005        
GUI-I-fication of insets and more
Edwin Leuven    e.leuven () uva ! nl    GPL     Re: Licensing of tex2lyx (and 
perhaps LyX itself?)      m=110899657530749       21 February 2005        Qt2 
frontend GUI-I-fication of several popups
John Levon      levon () movementarian ! org    GPL     Re: Licensing of 
tex2lyx (and perhaps LyX itself?)      m=110899535600562       21 February 2005 
       Qt2 frontend, GUII work, bugfixes
Ling Li ling () caltech ! edu   GPL     Re: LyX 1.4cvs crash on Fedora Core 3   
m=111204368700246       28 March 2005   Added native support for \makebox to 
mathed. Several bug fixes, both to the source code and to the llncs layout file
José Matos     jamatos () fc ! up ! pt GPL     Re: The LyX licence     
m=110907762926766       22 February 2005        linuxdoc sgml support
Roman Maurer    roman.maurer () amis ! net      GPL     Re: The LyX licence     
m=110952616722307       27 February 2005        Slovenian translation 
coordinator
Tino Meinen     a.t.meinen () chello ! nl                                       
Dutch translation coordinator
Iñaki Larrañaga Murgoitio     dooteo () euskalgnu ! org       GPL     Re: The 
LyX licence     m=110908606525783       22 February 2005        Basque 
documentation and localization
Daniel Naber    daniel.naber () t-online ! de   GPL     Re: The LyX licence     
m=110911176213928       22 February 2005        Improvements to the 
find&replace dialog
Pablo De Napoli pdenapo () mate ! dm ! uba ! ar GPL     Re: The LyX licence     
m=110908904400120       22 February 2005        Math panel dialogs
Dirk Niggemann  dabn100 () cam ! ac ! uk                                        
config. handling enhancements, bugfixes, printer enhancements path mingling
Carl Ollivier-Gooch     cfog () mech ! ubc ! ca GPL     Re: The LyX licence --- 
a gentle nudge  m=111220662413921       30 March 2005   Support for two-column 
figure (figure*) and table (table*) environments.  Fixed minibuffer entry of 
floats.
Panayotis "PAP" Papasotiriou    papasot () upatras ! gr GPL     Re: The LyX 
licence     m=110933552929119       25 February 2005        Support for kluwer 
and ijmpd document classes
Joacim Persson  sp2joap1 () ida ! his ! se                                      
po-file for Swedish, a tool for picking shortcuts, bug reports and hacking 
atrandom
Zvezdan Petkovic        zpetkovic () acm ! org  GPL     Re: The LyX licence     
m=111276877900892       6 April 2005    Better support for serbian and 
serbocroatian
Geoffroy Piroux piroux () fyma ! ucl ! ac ! be                                  
Mathematica backend for mathed
Neoklis Polyzotis       alkis () soe ! ucsc ! edu       GPL     Fwd: Re: The 
LyX licence        m=111039215519777       9 March 2005    Keymap work
André Pönitz  andre.poenitz () mathematik ! tu-chemnitz ! de  GPL     Re: The 
LyX licence     m=111143534724146       21 March 2005   mathed rewrite to use 
STL file io with streams --export and --import command line options
Kornelia Pönitz        kornelia.poenitz () mathematik ! tu-chemnitz ! de       
GPL     Re: The LyX licence     m=111121553103800       19 March 2005   heavy 
mathed testing; provided siamltex document class
Bernhard Psaier                                         Designer of the 
LyX-Banner
Thomas Pundt    thomas () pundt ! de    GPL     Re: The LyX licence     
m=111277917703326       6 April 2005    initial configure script
Allan Rae       rae () itee ! uq ! edu ! au     GPL     lyx-1.3.6cvs 
configure.in patch m=110905169512662       21 February 2005        GUI-I 
architect, LyX PR head, LDN, bug reports/fixes, Itemize Bullet Selection, 
xforms-0.81 + gcc-2.6.3 compatibility
Adrien Rebollo  adrien.rebollo () gmx ! fr      GPL     Re: The LyX licence     
m=110918633227093       23 February 2005        French translation of the docs; 
latin 3, 4 and 9 support
Garst R. Reese  garstr () isn ! net     GPL     blanket-permission.txt: 
m=110911480107491       22 February 2005        provided hollywood and broadway 
classes for writing screen scripts and plays
Ruurd Reitsma   rareitsma () yahoo ! com        GPL     Fwd: Re: The LyX 
licence        m=110959179412819       28 February 2005        Creator of the 
native port of LyX to Windows
Bernd Rellermeyer       bernd.rellermeyer () arcor ! de GPL     Re: The LyX 
licence     m=111317142419908       10 April 2005   Support for Koma-Script 
family of classes
Michael Ressler mike.ressler () alum ! mit ! edu        GPL     Re: The LyX 
licence     m=110926603925431       24 February 2005        documentation 
maintainer, AASTeX support
Christian Ridderström  christian.ridderstrom () home ! se      GPL     Re: The 
LyX licence     m=110910933124056       22 February 2005        The driving 
force behind, and maintainer of, the LyX wiki wiki.
Eulogio Serradilla Rodríguez   eulogio.sr () terra ! es        GPL     Re: The 
LyX licence     m=110915313018478       23 February 2005        contribution to 
the spanish internationalization
Michael Schmitt michael.schmitt () teststep ! org       GPL     Re: The LyX 
licence     m=110909251110103       22 February 2005        lots of bug reports 
and purify runs
Hubert Schreier schreier () sc ! edu                                    
spellchecker (ispell frontend); beautiful document-manager based on the simple 
table of contents (removed)
Ivan Schreter   schreter () kdk ! sk                                    
international support and kbmaps for slovak, czech, german, ... wysiwyg figure
Miyata Shigeru  miyata () kusm ! kyoto-u ! ac ! jp                              
        OS/2 port
Alejandro Aguilar Sierra        asierra () servidor ! unam ! mx GPL     Fwd: 
Re: The LyX licence        m=110918647812358       23 February 2005        Fast 
parsing with lyxlex, pseudoactions, mathpanel, Math Editor, combox and more
Lior Silberman  lior () princeton ! edu GPL     Fwd: Re: The LyX licence        
m=110910432427450       22 February 2005        Tweaks to various XForms 
dialogs. Implemented the --userdir command line option, enabling LyX to run 
with multiple configurations for different users. Implemented the original code 
to make colours for diferent inset properties configurable.
Andre Spiegel   spiegel () gnu ! org    GPL     Re: The LyX licence     
m=110908534728505       22 February 2005        vertical spaces
Jürgen Spitzmüller    juergen.sp () t-online ! de     GPL     Re: The LyX 
licence     m=110907530127164       22 February 2005        Qt frontend, 
bugfixes
John Spray      jcs116 () york ! ac ! uk        GPL     Re: The LyX licence     
m=110909415400170       22 February 2005        Gtk frontend
Ben Stanley     ben.stanley () exemail ! com ! au       GPL     Re: The LyX 
licence     m=110923981012056       24 February 2005        fix bugs with error 
insets placement
David Suárez de Lis    excalibor () iname ! com                                
        maintaining es.po since v1.0.0 and other small i18n issues small fixes
Peter Sütterlin        p.suetterlin () astro ! uu ! nl GPL     Re: The LyX 
licence     m=110915086404972       23 February 2005        aapaper support, 
german documentation translation, bug reports
Kayvan Aghaiepour Sylvan        kayvan () sylvan ! com  GPL     Re: The LyX 
licence     m=110908748407087       22 February 2005        noweb2lyx and reLyX 
integration of noweb files. added Import->Noweb and key bindings to menus
Reuben Thomas   rrt () sc3d ! org       GPL     Re: The LyX licence     
m=110911018202083       22 February 2005        encts document class lots of 
useful bug reports
Dekel Tsur      dtsur () cs ! ucsd ! edu        GPL     Fwd: Re: The LyX 
licence        m=110910437519054       22 February 2005        Hebrew support, 
general file converter, many many bug fixes
Matthias Urlichs        smurf () smurf ! noris ! de     GPL     Re: The LyX 
licence     m=110912859312991       22 February 2005        bug reports and 
small fixes
H. Turgut Uyar  uyar () ce ! itu ! edu ! tr     GPL     Re: The LyX licence     
m=110917146423892       23 February 2005        turkish kbmaps
Marko Vendelin  markov () ioc ! ee      GPL     Re: The LyX licence     
m=110909439912594       22 February 2005        Gnome frontend
Martin Vermeer  martin.vermeer () hut ! fi      GPL     Re: The LyX licence     
m=110907543900367       22 February 2005        support for optional argument 
in sections/captions svjour/svjog, egs and llncs document classes. Lot of bug 
hunting (and fixing!)
Jürgen Vigna   jug () lyx ! org        GPL     Re: Licensing of tex2lyx (and 
perhaps LyX itself?)      m=110899839906262       21 February 2005        
complete rewrite of the tabular, text inset; fax- and Ascii-Export support; 
iletter and dinbrief support
Pauli Virtanen  pauli.virtanen () hut ! fi      GPL     Re: The LyX licence     
m=110918662408397       23 February 2005        Finnish localization of the 
interface
Herbert Voß    herbert.voss () alumni ! tu-berlin ! de GPL     Fwd: Re: The 
LyX licence        m=110910439013234       22 February 2005        The one who 
answers all questions on lyx-users mailing list and maintains www.lyx.org/help/ 
Big insetgraphics and bibliography cleanups
Andreas Vox     avox () arcor ! de      GPL     Re: The LyX licence     
m=110907443424620       22 February 2005        Bug fixes, feedback on LyX 
behaviour on the Mac, and improvements to DocBook export
John P. Weiss   jpweiss () frontiernet ! net    Artistic        Re: The LyX 
licence     m=110913490414280       23 February 2005        Bugreports and 
suggestions, slides class support, editor of the documentationproject, 
6/96-9/97. Tutorial chapter 1
Edmar Wienskoski        edmar () freescale ! com        GPL     Re: The LyX 
licence     m=111280236425781       6 April 2005    literate programming 
support; various bug fixes
Mate Wierdl     mw () wierdlmpc ! msci ! memphis ! edu                          
        Maintainer of the @lists.lyx.org mailing-lists
Serge Winitzki  winitzki () erebus ! phys ! cwru ! edu                          
        updates to the Scientific Word bindings
Stephan Witt    stephan.witt () beusen ! de     GPL     Re: The LyX licence     
m=110909031824764       22 February 2005        support for page selection for 
printing support for number of copies
Huang Ying      huangy () sh ! necas ! nec ! com ! cn   GPL     Re: The LyX 
licence     m=110956742604611       28 February 2005        Gtk frontend
Henner Zeller   henner.zeller () freiheit ! com GPL     Re: The LyX licence     
m=110911591218107       22 February 2005        rotation of wysiwyg figures
Xiaokun Zhu     xiaokun () aero ! gla ! ac ! uk                                 
bug reports and small fixes

Reply via email to