11# Gorfector
22
3- General Observable Record Freight Extractor (** Gorfector** ) is an image scanning software.
3+ [ ![ Ubuntu Latest Build and Test] ( https://github.com/patrickfournier/gorfector/actions/workflows/ubuntu-latest-build-test.yml/badge.svg )] ( https://github.com/patrickfournier/gorfector/actions/workflows/ubuntu-latest-build-test.yml )
4+
5+ The General Observable Record Freight Extractor (** Gorfector** ) is an image scanning software.
46
57Being relatively new, it has not been tested with a lot of scanners yet. Currently, it is known to work with:
68
79- Epson Perfection V600 Photo
810
911However, it should work with any scanner that supports the SANE protocol. Please report any issues you encounter with
10- other scanners so we can improve compatibility.
12+ your scanner so we can improve compatibility.
1113
1214## Features
1315
14- - User-friendly scan parameter presentation
16+ - User-friendly scan parameters presentation
1517- Zoomable, high-resolution previews
16- - Batch scanning of a single document (useful for scanning negatives)
18+ - Batch scanning of multiple areas in a single document (useful for scanning negatives)
1719- User defined presets
1820- Output to file (TIFF, PNG, JPEG), to email or to printer
19- - Adwaita GTK3 user interface
21+ - Adwaita/GTK4 user interface
2022- Saves pixels straight from the scanner: no image processing is done
2123
24+ [ ![ The main window of Gorfector] ( data/metainfo/main.png )] ( data/metainfo/main.png )
25+ * The main window of Gorfector*
26+
27+ [ ![ Scanning multiple areas] ( data/metainfo/scan_list.png )] ( data/metainfo/scan_list.png )
28+ * Scanning multiple areas*
29+
30+ # Installation
31+
32+ ## AppImage
33+
34+ On Ubuntu 24.04, download the latest AppImage from the
35+ [ release page] ( https://github.com/patrickfournier/gorfector/releases ) .
36+
37+ On other platforms, try the AppImage; if it does not work, you will need to build ** Gorfector** from source.
38+ See the [ Compiling] ( #compiling ) section for more information.
39+
40+ ## Flatpak
41+
42+ There is no flatpak package available because flatpak does not work well with SANE. It would require
43+ the ** Gorfector** package to include the drivers for all scanners, which is not realistic.
44+
2245# Improving Gorfector
2346
2447You can help improve ** Gorfector** !
2548
2649## Add support for your scanner
2750
28- ** Gorfector** uses a JSON file to define how to present the parameters of your scanner. This file is also used to
29- translate the parameters into the current user language. If there is no JSON file for your scanner, ** Gorfector ** will use
30- the parameters as provided by the scanner. This means they will probably be presented in English, and some
31- parameters may not make sense or could be too advanced (this was the case for the Epson Perfection V600 Photo scanner) .
51+ ** Gorfector** uses a JSON file to define how to present the parameters of the scanner. This file is also used to
52+ translate the parameters into the current user language. If there is no JSON file for the scanner you are using,
53+ ** Gorfector ** will use the parameters as provided by the scanner. This means they will probably be presented in English,
54+ and some parameters may not make sense or could be too advanced.
3255
33- To improve the parameter presentation for your scanner, you need to create a JSON file that defines their presentation. See
34- the file [ SCANNER_SUPPORT.md] ( SCANNER_SUPPORT.md ) for more information on how to create the JSON file. If you do so, please consider
35- submitting a pull request with the JSON file so that others can benefit from your work.
56+ To improve the parameter presentation for a scanner, you need to create a JSON file that defines their presentation. See
57+ the file [ SCANNER_SUPPORT.md] ( SCANNER_SUPPORT.md ) for more information on how to create this file. If you do create a new scanner file,
58+ please consider submitting a pull request so that others can benefit from your work.
3659
3760## Add support for your language
3861
3962** Gorfector** uses a PO file to define the translations for the user interface. See the file
4063[ TRANSLATE.md] ( TRANSLATE.md ) for more information on how to create or update the PO file.
4164If you add or improve language support, please consider submitting
42- a pull request with the PO file so that others can use ** Gorfector** in your language.
65+ a pull request so that others can use ** Gorfector** in their language.
4366
4467## Submit a bug report
4568
@@ -54,13 +77,21 @@ This will help avoid duplicate work and ensure that the changes are
5477in line with the goals of the project. See the file [ CONTRIBUTING.md] ( CONTRIBUTING.md )
5578for more information on how to contribute code.
5679
80+ ## Contributing AppImages binaries
81+
82+ If you find out that the AppImage you downloaded does work on your system, please let us know by creating an issue on the
83+ [ GitHub repository] ( https://github.com/patrickfournier/gorfector/issues ) .
84+
85+ If you want to contribute an AppImage binary for your system, please fork the repository, create an AppImage
86+ using the scripts in the ` build-aux/appimage ` directory, and create a pull request.
87+
5788# Compiling
5889
5990## Setup
6091
6192To compile ** Gorfector** , you need to have the following tools installed:
6293
63- - Meson
94+ - Meson 1.1.0 or later
6495- Gettext
6596- ` libxml2-utils `
6697- ` desktop-file-utils `
@@ -73,29 +104,34 @@ On Ubuntu, you can install these tools with the following command:
73104 sudo apt install build-essential meson gettext libxml2-utils desktop-file-utils itstool
74105```
75106
107+ If you are using a different distribution, you will need to install the equivalent packages for your distribution.
76108Then you will need to install the following dependencies:
77109
78- - GLib, GTK4 and Adwaita
110+ - GTK 4.14 or later
111+ - ` libadwaita ` 1.5 or later
79112- ` libsane `
80- - ` libtiff `
81- - ` libpng `
82- - ` libjpeg `
113+ - ` libtiff ` 4.5 or later
114+ - ` libpng ` 1.6 or later
115+ - ` libjpeg ` 2.1 or later
83116
84- On Ubuntu, you can install these dependencies with the following command:
117+ On Ubuntu 24.04 , you can install these dependencies with the following command:
85118(` libjpeg ` will be pulled by ` libtiff ` ):
86119
87120``` bash
88121 sudo apt install libglib2.0-dev-bin libgtk-4-dev libadwaita-1-dev libsane-dev libtiff-dev libpng-dev
89122```
90123
124+ If you are using a different distribution, you will need to install the equivalent packages for your distribution.
125+
91126Finally, you will need to clone the repository:
92127
93128``` bash
94129 git clone git@github.com:patrickfournier/gorfector.git
95130 cd gorfector
96131```
97132
98- Configure ` git ` to use the local hooks directory, to check the code formatting before each commit:
133+ If you plan to contribute code, you should also set up a local hooks directory to check the code formatting
134+ before each commit.
99135
100136``` bash
101137 git config --local core.hooksPath .githooks/
@@ -104,32 +140,25 @@ Configure `git` to use the local hooks directory, to check the code formatting b
104140## Build
105141
106142** Gorfector** uses ` meson ` to build the project. To build ** Gorfector** , run the
107- following commands (replace ` <install_dir > ` with the directory where you want to
108- install ** Gorfector ** ):
143+ following commands (replace ` <build-dir > ` with the directory where you want to build ** Gorfector **
144+ and ` <install_dir> ` with the directory where you want to install it ):
109145
110146``` bash
111- meson setup build --prefix=< install_dir>
112- cd build
113- meson build scanner_settings
114- meson build gorfector-pot
115- meson build gorfector-update-po
116- meson build gorfector-gmo
117- meson build gorfector
118- meson build gorfector-tests
147+ meson setup < build-dir> --prefix=< install_dir>
148+ cd < build-dir>
119149 meson install
120150```
121151
122152To run the tests, run the following command:
123153
124154``` bash
125- meson test -C build
155+ meson test -C < build-dir >
126156```
127157
128158## Running
129159
130160To use ** Gorfector** , power up your scanner and run the following command:
131161
132162``` bash
133- cd < install_dir> /bin
134- ./gorfector
163+ < install_dir> /bin/gorfector
135164```
0 commit comments