[gspell] Revert "Revert "Freeze"" (the project will then be thawed)



commit 0b53c93a1cd4eddb8c65ca70ddffa2496fa75dd8
Author: Sébastien Wilmet <swilmet informatique-libre be>
Date:   Thu Apr 14 22:32:36 2022 +0200

    Revert "Revert "Freeze"" (the project will then be thawed)
    
    This reverts commit 16cdbdbda171d169cbc58452c222d5458ad5e0f0.

 HACKING                  | 30 ++++++++++-----------
 README                   | 69 +-----------------------------------------------
 README.md                | 21 +++++++++++++++
 docs/dev-notes.md        | 16 +++++++++++
 docs/gspell.next.md      | 44 ++++++++++++++++++++++++++++++
 docs/more-information.md | 62 +++++++++++++++++++++++++++++++++++++++++++
 6 files changed, 159 insertions(+), 83 deletions(-)
---
diff --git a/HACKING b/HACKING
index c629088..aa73c99 100644
--- a/HACKING
+++ b/HACKING
@@ -1,20 +1,20 @@
-How to contribute to gspell
-===========================
+gspell development
+==================
 
-gspell follows the same guidelines and code conventions as GtkSourceView:
+Contributions are no longer accepted
+------------------------------------
 
-    https://gitlab.gnome.org/GNOME/gtksourceview/blob/master/HACKING
+And new maintainers are not accepted either.
 
-The gspell GitLab:
+But the source code is open, you can copy it freely and create a new project.
+What I just ask for the new project:
+- Must have a different project name.
+- And it must be possible to install gspell plus the new project in parallel on
+  the same prefix. For example by just bumping the major/API version of the
+  library to something far apart.
 
-    https://gitlab.gnome.org/GNOME/gspell
+Notes
+-----
 
-Development notes
------------------
-
-See the text files in the docs/ directory (if you're looking to integrate
-gspell with *Flatpak*, it's there ;-) ).
-
-There are also some notes on the wiki:
-
-    https://wiki.gnome.org/Projects/gspell
+gspell follows the same guidelines and code conventions as GtkSourceView (when
+GtkSourceView was still developed by Sébastien Wilmet).
diff --git a/README b/README
index 90f88af..69b3a83 100644
--- a/README
+++ b/README
@@ -1,68 +1 @@
-gspell - a spell-checking library for GTK applications
-======================================================
-
-This is version 1.9.1 of gspell.
-
-gspell provides a flexible API to add spell-checking to a GTK application.
-
-The gspell library is free software and is released under the terms of the GNU
-LGPL version 2.1 or later. See the file 'COPYING' for more information.
-
-The official web site is:
-
-    https://wiki.gnome.org/Projects/gspell
-
-About versions
---------------
-
-gspell follows the GNOME release schedule and uses the same versioning scheme:
-
-    https://developer.gnome.org/programming-guidelines/stable/versioning.html.en
-
-For example the 1.7.x versions are unstable, and the 1.8.x versions are stable.
-
-Dependencies
-------------
-
-* GLib >= 2.44
-* GTK >= 3.20
-* Enchant >= 2.2.12
-* ICU - http://site.icu-project.org/
-
-Notes for packagers
--------------------
-
-At least on GNU/Linux, it is better to install hunspell. aspell can be
-considered deprecated and doesn't work well with gspell. If both hunspell and
-aspell are installed, Enchant prefers hunspell by default.
-
-See also:
-
-    https://fedoraproject.org/wiki/Releases/FeatureDictionary
-    https://wiki.ubuntu.com/ConsolidateSpellingLibs
-
-Installation
-------------
-
-Simple install procedure from a tarball:
-
-  $ ./configure
-  $ make
-  [ Become root if necessary ]
-  $ make install
-
-See the file 'INSTALL' for more detailed information.
-
-From the Git repository, the 'configure' script and the 'INSTALL' file are not
-yet generated, so you need to run 'autogen.sh' instead, which takes the same
-arguments as 'configure'.
-
-To build the latest version of gspell plus its dependencies from Git, Jhbuild
-is recommended:
-
-    https://wiki.gnome.org/Projects/Jhbuild
-
-How to contribute
------------------
-
-See the file 'HACKING'.
+See the README.md file.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..d15d755
--- /dev/null
+++ b/README.md
@@ -0,0 +1,21 @@
+gspell - a spell-checking library for GTK applications
+======================================================
+
+gspell provides a flexible API to add spell-checking to a GTK application.
+
+Features
+--------
+
+- Access to basic spell-checking functionality with a GObject-based API.
+- An inline spell-checker for GtkEntry.
+- An inline spell-checker for GtkTextView (enhanced version of
+  [GtkSpell](http://gtkspell.sourceforge.net/)).
+- A spell-checker dialog for GtkTextView.
+- Support of the no-spell-check tag defined by
+  [GtkSourceView](https://wiki.gnome.org/Projects/GtkSourceView).
+- Language choosers (button and dialog).
+
+More information
+----------------
+
+[More information about gspell](docs/more-information.md).
diff --git a/docs/dev-notes.md b/docs/dev-notes.md
new file mode 100644
index 0000000..201fd05
--- /dev/null
+++ b/docs/dev-notes.md
@@ -0,0 +1,16 @@
+gspell - dev notes
+==================
+
+Using hunspell directly instead of Enchant?
+-------------------------------------------
+
+- http://www.abisource.com/projects/enchant/
+- https://fedoraproject.org/wiki/Releases/FeatureDictionary
+- https://wiki.ubuntu.com/ConsolidateSpellingLibs
+
+Other links
+-----------
+
+- GNOME: [Platform-wide Spell Checking](https://wiki.gnome.org/Initiatives/SpellChecking),
+  predates the creation of gspell.
+- https://zverok.github.io/blog/2021-05-06-how-to-spellcheck.html
diff --git a/docs/gspell.next.md b/docs/gspell.next.md
new file mode 100644
index 0000000..babc3e1
--- /dev/null
+++ b/docs/gspell.next.md
@@ -0,0 +1,44 @@
+gspell.next
+===========
+
+What would a gspell.next project look like? (Apart from porting to the latest
+major version of GTK). Note, I don't plan to work on it. Insert here elves,
+wisdom, rainbows, unicorns, …
+
+Expose more of the internals
+----------------------------
+
+To have an even more flexible toolkit. Like Tepl.
+
+But it would require to bump the major/API version more frequently, when the
+implementation changes.
+
+Choice for the dependency used for `gspell_language_get_name()`
+---------------------------------------------------------------
+
+Its first implementation was based on the iso-codes package (by parsing the XML
+files). Then it was replaced by the ICU. And there is a branch to use the
+MS-Windows API.
+
+Provide the three implementations, and be able to choose which one to use at
+configure/compile time.
+
+To have a smaller package size for certain apps (if gspell is bundled), or for
+Linux distros to have a smaller set of packages installed by default, etc.
+
+Interfaces
+----------
+
+"Program against interfaces", the Design Patterns book teaches us.
+
+For example for GspellLanguage and GspellChecker (the core classes), have
+interfaces in addition to classes. To be able to use something else than
+Enchant.
+
+Async I/O only
+--------------
+
+Dedicate a separate thread for calling Enchant APIs? The Enchant APIs are
+synchronous currently, if I recall correctly. So provide an async API for
+GspellLanguage and GspellChecker? If it degrades too much the performances,
+words need to be checked in batches.
diff --git a/docs/more-information.md b/docs/more-information.md
new file mode 100644
index 0000000..f7cfcee
--- /dev/null
+++ b/docs/more-information.md
@@ -0,0 +1,62 @@
+gspell - more information
+=========================
+
+About versions
+--------------
+
+gspell follows the GNOME release schedule and uses the same
+[versioning scheme](https://developer.gnome.org/programming-guidelines/stable/versioning.html.en).
+
+For example the 1.7.x versions are unstable, and the 1.8.x versions are stable.
+
+Dependencies
+------------
+
+* GLib
+* GTK
+* Enchant
+* [ICU](http://site.icu-project.org/)
+
+Notes for packagers
+-------------------
+
+At least on GNU/Linux, it is better to install hunspell. aspell can be
+considered deprecated and doesn't work well with gspell. If both hunspell and
+aspell are installed, Enchant prefers hunspell by default.
+
+See also:
+- https://fedoraproject.org/wiki/Releases/FeatureDictionary
+- https://wiki.ubuntu.com/ConsolidateSpellingLibs
+
+Installation
+------------
+
+Simple install procedure from a tarball:
+
+```
+$ ./configure
+$ make
+[ Become root if necessary ]
+$ make install
+```
+
+See the file 'INSTALL' for more detailed information.
+
+From the Git repository, the 'configure' script and the 'INSTALL' file are not
+yet generated, so you need to run 'autogen.sh' instead, which takes the same
+arguments as 'configure'.
+
+To build the latest version of gspell plus some of its dependencies,
+[Jhbuild](https://wiki.gnome.org/Projects/Jhbuild) can be used.
+
+Development resources
+---------------------
+
+- [Discourse](https://discourse.gnome.org/) (Platform category, gspell tag)
+- [Tarballs](https://download.gnome.org/sources/gspell/)
+
+Contributions
+-------------
+
+Contributions are no longer accepted for this project. See the `HACKING` file
+for more information.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]