Add full project structure: backend, frontend, Docker, and CI workflows
- Organize backend into src/ (routes/, services/, db/) per package.json entrypoint - Add migrations/import-mdb.js for one-time .mdb → SQLite migration - Add public/ frontend: check ledger table, slide-in new/edit panel, PDF generation - Add docker/Dockerfile and docker-compose.yml for self-hosted deployment - Add .github/workflows: Docker Hub build+push on main/tags, TODO→Issues scanner - Add GnuMICR font files (GPL-2.0) for MICR E-13B line rendering
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
GnuMICR was created by:
|
||||
|
||||
Eric Sandeen <sandeen-gnumicr@sandeen.net>
|
||||
@@ -0,0 +1,26 @@
|
||||
|
||||
GnuMICR Changelog
|
||||
|
||||
December 10, 2003
|
||||
0.30 Re-generated the TTF font using pfaedit (so I can recreate)
|
||||
Generated otf font file using pfaedit
|
||||
Added StdVW to StemSnapV array (Thanks t1lint!)
|
||||
Fixed typo IsFixedPitch -> isFixedPitch
|
||||
Rebuilt pfa and pfb with t1utils v. 1.29
|
||||
Removed blather about distribution w/ a commercial
|
||||
application, that's not consistent w/ the GPL.
|
||||
Updated contact information.
|
||||
|
||||
August 12, 2000
|
||||
0.22 Included a converted TTF font (also untested)
|
||||
|
||||
August 2, 2000
|
||||
0.21 Added Unique ID number for the font
|
||||
Added some copyright information
|
||||
|
||||
July 2, 2000
|
||||
0.2 Recompiled fonts with 64 char lines (oops)
|
||||
|
||||
July 1, 2000
|
||||
0.1 First public release
|
||||
|
||||
+339
@@ -0,0 +1,339 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
675 Mass Ave, Cambridge, MA 02139, USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
Appendix: How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) 19yy <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) 19yy name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
Public License instead of this License.
|
||||
@@ -0,0 +1,36 @@
|
||||
StartFontMetrics 2.0
|
||||
Comment Generated by pfaedit
|
||||
Comment Creation Date: Thu Dec 11 12:40:09 2003
|
||||
FontName GnuMICR
|
||||
FullName GnuMICR
|
||||
FamilyName GnuMICR
|
||||
Weight Normal
|
||||
Notice (Copyright (c) 2000-2003, Eric Sandeen <sandeen-gnumicr@sandeen.net>. Released under the terms of the Gnu Public License, www.gnu.org)
|
||||
ItalicAngle 0
|
||||
IsFixedPitch false
|
||||
UnderlinePosition -100
|
||||
UnderlineThickness 50
|
||||
Version 000.300
|
||||
EncodingScheme FontSpecific
|
||||
FontBBox 10 0 720 702
|
||||
StartCharMetrics 18
|
||||
C 0 ; WX 500 ; N .notdef ; B 0 0 0 0 ;
|
||||
C 32 ; WX 751 ; N space ; B 0 0 0 0 ;
|
||||
C 48 ; WX 751 ; N zero ; B 103 0 649 702 ;
|
||||
C 49 ; WX 751 ; N one ; B 337 0 649 702 ;
|
||||
C 50 ; WX 751 ; N two ; B 337 0 649 702 ;
|
||||
C 51 ; WX 751 ; N three ; B 259 0 649 702 ;
|
||||
C 52 ; WX 751 ; N four ; B 181 0 649 702 ;
|
||||
C 53 ; WX 751 ; N five ; B 259 0 649 702 ;
|
||||
C 54 ; WX 751 ; N six ; B 181 0 649 702 ;
|
||||
C 55 ; WX 751 ; N seven ; B 259 0 649 702 ;
|
||||
C 56 ; WX 751 ; N eight ; B 103 0 649 702 ;
|
||||
C 57 ; WX 751 ; N nine ; B 181 0 649 702 ;
|
||||
C 65 ; WX 751 ; N A ; B 103 0 649 702 ;
|
||||
C 66 ; WX 751 ; N B ; B 103 0 649 702 ;
|
||||
C 67 ; WX 751 ; N C ; B 103 117 649 663 ;
|
||||
C 68 ; WX 751 ; N D ; B 103 195 649 507 ;
|
||||
C 169 ; WX 751 ; N copyright ; B 10 10 720 120 ;
|
||||
C -1 ; WX 500 ; N CR ; B 0 0 0 0 ;
|
||||
EndCharMetrics
|
||||
EndFontMetrics
|
||||
@@ -0,0 +1,215 @@
|
||||
%!FontType1-1.1: GnuMICR 000.300
|
||||
%%CreationDate: Wed Aug 02 19:41:00 2000
|
||||
%%VMusage: 120000 150000
|
||||
%(The above line is most likely not correct)
|
||||
%
|
||||
%---------------
|
||||
%
|
||||
% GnuMICR - a free implementation of the MICR font
|
||||
%
|
||||
% Copyright (C) 2000-2003 Eric Sandeen (sandeen-gnumicr@sandeen.net)
|
||||
%
|
||||
% This program is free software; you can redistribute it and/or modify
|
||||
% it under the terms of the GNU General Public License as published by
|
||||
% the Free Software Foundation; either version 2 of the License, or
|
||||
% (at your option) any later version.
|
||||
%
|
||||
% This program is distributed in the hope that it will be useful,
|
||||
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
% GNU General Public License for more details.
|
||||
%
|
||||
% You should have received a copy of the GNU General Public License
|
||||
% along with this program; if not, write to the Free Software
|
||||
% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
%
|
||||
%---------------
|
||||
%
|
||||
% This font contains only the digits 0-9, and 4 symbols
|
||||
% To get the symbols, use the characters A B C D
|
||||
%
|
||||
% To convert back and forth between an editable raw font file
|
||||
% and an encoded, encrypted, useable Type 1 font file, you will need
|
||||
% the t1utils package from http://www.lcdf.org/~eddietwo/type/
|
||||
%
|
||||
%---------------
|
||||
%
|
||||
% TODO:
|
||||
% Get this thing inspected by a bank...!
|
||||
% Implement stem hint replacement ("3", "8", Symbols)
|
||||
% Angles/arcs on "7" may not be quite right
|
||||
%
|
||||
%---------------
|
||||
%
|
||||
11 dict begin
|
||||
/FontInfo 14 dict dup begin
|
||||
/version (000.300) readonly def
|
||||
/Copyright (Copyright 2000-2003, Eric Sandeen) readonly def
|
||||
/Notice (Copyright (c) 2000-2003, Eric Sandeen <sandeen-gnumicr@sandeen.net>. Released under the terms of the Gnu Public License, www.gnu.org) readonly def
|
||||
/FullName (GnuMICR) readonly def
|
||||
/FamilyName (GnuMICR) readonly def
|
||||
/Weight (Normal) readonly def
|
||||
/ItalicAngle 0 def
|
||||
/isFixedPitch false def
|
||||
/UnderlinePosition -100 def
|
||||
/UnderlineThickness 50 def
|
||||
end readonly def
|
||||
|
||||
/FontName /GnuMICR def
|
||||
/PaintType 0 def
|
||||
/FontType 1 def
|
||||
/FontMatrix [ 0.00100 0 0 0.00100 0 0 ] readonly def
|
||||
/Encoding 256 array
|
||||
0 1 255 {1 index exch /.notdef put } for
|
||||
dup 32 /space put
|
||||
dup 48 /zero put
|
||||
dup 49 /one put
|
||||
dup 50 /two put
|
||||
dup 51 /three put
|
||||
dup 52 /four put
|
||||
dup 53 /five put
|
||||
dup 54 /six put
|
||||
dup 55 /seven put
|
||||
dup 56 /eight put
|
||||
dup 57 /nine put
|
||||
dup 65 /A put
|
||||
dup 66 /B put
|
||||
dup 67 /C put
|
||||
dup 68 /D put
|
||||
dup 169 /copyright put
|
||||
readonly def
|
||||
|
||||
/FontBBox { 103 0 649 702 } readonly def
|
||||
currentdict end
|
||||
currentfile eexec
|
||||
d9d66f633b846a989b9974b0179fc6cc445bcf7c3c3333173232e3fdbff43949
|
||||
1db866c39088c203dc22fdc758584860ec7bb67fda28cc6208249060e18fab32
|
||||
204779b5c03c0493bbbbc95cf02692cc4deaa8d2ea90b5c2e64374e92bcb8501
|
||||
429b8fae4a76c0c6b76d6ff7cf9a7d5edfbca0e959541c59bd05b7de43d25d53
|
||||
fc3dda6ef0c2743978a6d03e19cced4a11f2ea4bcc3110be8b8d9e2772361969
|
||||
c19258efafdc276cb1ade9208a941a36d18f9fb1c33def76aa3140a8a4c99adb
|
||||
b3214e61cb091bb87421cef35ff5745ef8dab2327f4505291949c5c81a2c61a1
|
||||
c68bc0c2724684a65c13e201889ed4829f0502939b52213248c263db1fe10129
|
||||
8a2904757b2fb30240088b194cd883e258e163d6ecf1d233c50b7245be021177
|
||||
eac51a7a1a807977163b3a28a3c9f79d5116de6525552753c1d3aa7bb4ec7b18
|
||||
837ef3428d84afc12dd6cb1f27e859ffb74c151b97b4a6ff35710cdce68fcbaa
|
||||
ab650eeeffc0c2bc940fabcd1da75ad2bd6cb6e0567455fb1de69f17d1474b1f
|
||||
be7eec173206d8b4a85a24d9cfb113b2ebf1e8790e6e02c643418d0a8d19a5bf
|
||||
48528e6a4d92065c9b68886a9093256bedf9a90ecbedcbaa21f5194ef7e7cdb2
|
||||
68b296d436bcb83abeb6d0e64b498d3fa1d4f67418d72f1ffcbefcd0bc198738
|
||||
46537a5f6147e88a422a858ea0d8035cb03be90cc441ebe8f38fad0ba587a8b8
|
||||
6106ff8c87f2add0df9bb2384795042dfce4ba9b2c49269249640a8792a966b7
|
||||
09e7f16df067017e7253e273d2b2c495d12848b56aeb76cad0a1d217fcf3ec3f
|
||||
e474793c37ea3acbf375302c907e888e48c77767306c2d64f1b66d625e5f7270
|
||||
40fbfb2438ff6eba6c72759808e9556910b61627058848d1736ae22f55ff2d0f
|
||||
caf500e55ede2fa5add20b2622909a1b906b68cf458ad50a33d453328e6b6d46
|
||||
0942916d050df3fda98862355b6d0f9e931ca94db56d0aef32dcb68fc2fcb1ca
|
||||
3b05ec92191ef9d190dc14b70ece10a09e4b5e3745e041462f97907120e0c24d
|
||||
efa34a171a43ab03a31edcca00299cf085f74356901e6e858643e060e0531f33
|
||||
227904d8d5e5e7f0ab1f2b5c97a5e45647321138d4856a1fec830e7075bdcebd
|
||||
b0d1d481f6c79500619b1b3a725237aaf4879364007d48c64c19a374d2e21792
|
||||
bc0cbef879e0a348bf86a62d4d7d0526cc64ab1928a5642cd8bdbc55bf85dad8
|
||||
1a2ba2f7e4537706878f74d6b2be523f8a9de00c5d01184405487f1c873f102e
|
||||
a0a9bef2f2fa9718d8cade54f5cc17aadaa78280472a1f749c20583d9c0a1106
|
||||
ad73decc7efcb4de4315683e204d7a8c0512e41e7e501b4884e4ee90d08652f3
|
||||
4c15e337e74dd4823e4aa117251c3cd02e27827f07297bf2b08a8087ccce4f3f
|
||||
cd86d361e3dd8d11ba1c4b58d5838923342d8b23ae88b25c4410e4fa85eba1ac
|
||||
1c676b35bc3a344525248fe25e4619e4476cdc566729217d325f88ef1b752851
|
||||
508f90bab8aca5d9382414a114a0d903b16ce7821442e01312d58b5e2e26c0df
|
||||
cf0d1454678e3b9a9b157ddc49d3a7f7235666ebef29cba7360a113f540bd8ae
|
||||
fac6dfc4b9d16c8e754376d8eb73f86b3469b94717251c3c2eb411f1df2acac9
|
||||
96ce622d50e289ae896b9e01227284244683504fed3bc7d32c79a1053e6883b4
|
||||
003fe9244cab401ba5566469541e7f6d10606cd188deebb7e8858900aea86ea5
|
||||
0d412a03bd075cd2d3ac38a202db7634197e4a6940ed83d32733ed4228f4a208
|
||||
316ce4daa9ebe5f14ff089ac978d0a39303aa0eaca67ac5132d592391c6d8593
|
||||
cbc678fad548ffab092d702ac1f31c3c34e7dc9c66655403fdee707c7c31b1bb
|
||||
17909887c564967f49604f9eb776cb9720fead110e878e0f003261a54dc6fa01
|
||||
eec1a40ff45fefa7d85001e3b322c7447293cf20cc5d8461be725b4d75efde5e
|
||||
98a9ae0008490739cd664a7defd93b444dd65ff1c7e8f8f8a3ba8b1cea0e2fbb
|
||||
315a4eccbf09993c402534d2721ea64afdebdad1ece3ac1939f96cd777b17de8
|
||||
b9d527d32ce26f4e1f861ed5916da9523f058fc3cdaa367756879d5353dae748
|
||||
4bbbda7de04edd2ace4922af206631719471324e3c6b8282f01d53861389c2d6
|
||||
b54306763edefb2e049ace70526afba2d782e354ed9a2945f4a0470ed4c7b418
|
||||
3566e0bb1d94d945cb8d94e438026ff260ba5ce66d4d51fd4887214fbe26e928
|
||||
ff262e98518b92b40caa5bcfe73ea8cbf86c7ec1c89866c537242307190fed28
|
||||
23f66362aff372e7da620fdf0daa086856278b06b417964c9bb13560be9a6644
|
||||
360b70f0def155ed64bdb26f1733d6fe91a04aaf2e45534c5865768c9cb901ef
|
||||
e56144ecb22046dd87d12e7a8826abfc8728249617b5bfe2850b7063136a5518
|
||||
84d244913e06f72d094b3453542ec6d6375bd3d99e5f158d5f6889229bc9c609
|
||||
fe1d0b2a511be50f7b91af54e8200f1606ca468e30b51c7d37eac9d8a640589b
|
||||
14daa550358e5a6f462b0b6fa7ffa3cf79e686a9cb0bfe66d728755ca37d4fa2
|
||||
a4bc2f74b03fb31ab682bd95565b1011c6cc1437b995c1bc3c273c65904f4c9f
|
||||
de274a8bd8f5bf97a1addce6194b9240a32d372451fe699b0afab349139e2168
|
||||
3928d1b65ab575347f08cd88f52a6b9cb0c5b0448fc83ac3b25c1e867888ea0f
|
||||
bf9800cb5e6509fe5eee739cdc1359fd09bed912ad1997d1f2a89d124bb18e7c
|
||||
a0f1078cb35f41ae0347cd900c30e871a84cce6e2ddeb210e33c5b9e6db78fd8
|
||||
fa8e61a4294c90acb1e3a4d69168bc67cde8e96272d2bbd7c890c7ba211176ad
|
||||
786e99843c10b7618955a244f5f7a8795735989327124dfc25ec3a005fd84b05
|
||||
9e4ee615545555d72f6e6fc371712aa16bc6d08d1df5953d962103f3b76f0501
|
||||
e18699411aaf89f876a019516ae3ef8bdfbe31bfb1594ec0ee8ee3b7171493c8
|
||||
347e2a9b250816a45800514b7e63aa0c1094f62678732da76460a55f02528abf
|
||||
0f9bd557abab16eb2927b5c68be71f466c58af23c67a7a15c82b277cc8163d74
|
||||
9517aa9ef177d3bea03aafd08d5585629cc17d97e77510a59b29316d1b67ff85
|
||||
0773244e688edc30cbf1528ade8840c5f492247b89841b8e03d047eb80d9ce49
|
||||
94d0483348697bd1f24173de4806df1208facd8f8797e1761a548b82bdfb3467
|
||||
f0b6a840812221026531d561866f693c1b28f63ca2fe4f458678e084869a381d
|
||||
b37b6cd52234c28f1a69b4b611db245ff2ec1d6f82bc04d4df67a6bb7cfef7c4
|
||||
fc751ba88d114592fca0bf7ec26bfaf4909047c3621510588266d57efb10858d
|
||||
9bb05064d331e4b1f6ea87feb979f6376e848eb204a7bdfc3581a6f97734c680
|
||||
c09722bf3ed67b24ec7f40e3f0afd702dc639e1541489b864bd53c4d1fc6a5ba
|
||||
0cc887eb451b6fabbb028ffbc05eab5c0c5b9c111895943c6ce54eb0d94fa1d1
|
||||
ce3bab45cac7a6270d4668b6a75211515ad0401a16512b1aa22f775c2726ed25
|
||||
22247b78e865f7835d9641f7c25992a0f596b12f85400a753fbfd36c50e89036
|
||||
d5fd47bf945009a0ed48d44e7201f03511865adabc24e3f65a994fd9ef121f02
|
||||
ad010f75bb840f82d91467e5dfabd033febbb96d3a0e2e667df8c3410fd538e6
|
||||
aac9aefbcffc22eb77b86e3e609d282666d7e8e26a678cc29d256ae3b78bb993
|
||||
0580c39eba3c5f25fe02ea5dba6f872fecdd1264b32ef27d95d7d074de99233d
|
||||
799992a9656cd581407b82f1025ba5fcf3ac88dc319c2c1af7e8a4479d9d1a64
|
||||
7ecac0ad08980115d1082a35d2ee9154b6e7e1ab816a1447f23bb196fbd5e022
|
||||
afb9b81b9abcd1ccfbfb95321ecc3cc3e351ff6ee4afc8da56e5ded1a4554dbf
|
||||
0c2a22601441f90090cd1a5ca9f3496ea04d22b79e949e550c104deb409a0e20
|
||||
250c0455b0d4a0526d0e39c303f3a3a6efaf686ec5206bf3e595ff70d5a4346f
|
||||
2a3984ce45121cf2d1928f96dca05cad7760bdf639a1cf528940240fa1748c34
|
||||
29233744bcf4f2f29c6bb830d978bec8bf6968ac6785e19df57c263ed490fc57
|
||||
392f29e6ad61702f1912b28d4da44c60ab0c1464b9c80ed4298475ea1173f48f
|
||||
441cf51a7feddc28d9aa4e5369aae7f127825f69da2cb13c5a15db82863ff379
|
||||
ca0efb3ab2ee7b1c54b6254d6de4bd405af22dd455ed2369c4472ad539754ce4
|
||||
eab1e3524d7ffc75333c5e18bde6ef56d474552563ced15cdef488f661471b8b
|
||||
a9bbc4c1815dccc94b40cb7e00b89b679d53188b6fbc3998b82380dbb00e37d8
|
||||
ba3e692d276eae6f4c8f3fe5c194c0d5f780496ed756b7dd6f588f786971612a
|
||||
ff579c5aaf17b17f5fa640f3f5afbdb397b89a33c6a614372b74812a003a67f6
|
||||
bd6829c688fba52b924a4d4edacb02a113a57a5dd4c05badd7ac0a2b9592cec0
|
||||
e04ae2242d04ccfb445897de02e5b8b69ad754006a5a50bc21436e198faed411
|
||||
eb8d95b56162c6c239eb7adc1382f05b4ee36064d9741207f3747a4195219d61
|
||||
ca83b9717c7755dfa846f80b8b7f2356e5a4a47c4a87e83c5e9f28387c0d3a03
|
||||
7224ee2300e94bcfbb8832b54a76c043a591e611418e97f8ed9d6b94214f6ed4
|
||||
d918a9ee26fb160495b22906d40ebad0a4e270ef5d1afe3a07deca7ea084233d
|
||||
8d89a346e7864646dd09205a07c9ba4d4e952152d3b99c58568691f67d9dcd8c
|
||||
6a2f97e00763912f830e83029606c40c54da583bbc68eb58ea3144b1028f4763
|
||||
b5096808920788fcb80d2e868a7fb408479a4cca3a7fa1178ac907311137f3b1
|
||||
676be8a4cafc56815b05d6083d569930961ab84e3bd3541bca06df99ee407759
|
||||
d9c69f0e98bd56b8cfcce7bbae32bab38619c44fdd584af44a5448c5a0b25e59
|
||||
30ab3782dd0aef6ce50c362360a172348eb82c0df84d93f7297705513e39e760
|
||||
a68db79b1b9abcc1245e8d5cefb69494773a247127f0a5ec7d01edb35e378eab
|
||||
7844363315dc364785f78919d765af8611b76fb4344ee3e9ad16014eeabc91c7
|
||||
2f6b488530ddd4f5fefa94152f1ed0fd784f14f60bbf8d175a11bbc31e2b2b40
|
||||
463df7387cc8305b172283b85e0025e208c9380898628c07726dfe7ace4f3c54
|
||||
8f14c9443bfd25d7a61897fd9e984099726df51c0092750771715787a89dcde1
|
||||
1ce64902a677fb4a1c0a54dbf851f88eb0a46cef180c118b228a3bbe3cec1c4a
|
||||
8d2042f182f813a134753ebaa7b9950c121935b709f6e54015b21dac0eefadba
|
||||
f284e0962d504d71489c5f7f54619c1092420ff272cd0dcb988403dc166c3b68
|
||||
8febb945ce3ebfa53208a875206cb86770cf82160fe004623ca47ebe928cfdcc
|
||||
11ee9a57ffc4df10051eb7f5452f96515314be80fc1555689a32ba09b424d751
|
||||
9b2763f88e49718e5e9e3e8f022df7864edb9e1c356c141f88af9fef133fd2dc
|
||||
3e51fa7973cf674a6671fc705210278564908f0f343ae56738f92277a636c669
|
||||
8a3d69014dbb1ae80f7b181712d583f744f7b975794e38250d27d6cffabee62b
|
||||
5eaf1b6fa90b32fd15023d63b4fd903b569542838b6df15ceae6bad0f2c2cc99
|
||||
7592f323cab1ea7030ecc20bca409dd5a9db
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
Binary file not shown.
Binary file not shown.
+1189
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,27 @@
|
||||
If you're using this font under Microsoft Windows, I can't help you.
|
||||
|
||||
If you're using it under a Linux-y operating system, there are documents
|
||||
available which do a better job than I ever would at explaining how to
|
||||
install them.
|
||||
|
||||
In general, take a look at the Font-HOWTO, available from
|
||||
http://www.linuxdoc.org/HOWTO/Font-HOWTO.html particularly
|
||||
|
||||
"Making Fonts Available To X"
|
||||
http://www.linuxdoc.org/HOWTO/Font-HOWTO-4.html
|
||||
|
||||
and
|
||||
|
||||
"Making Fonts Available to GhostScript"
|
||||
http://www.linuxdoc.org/HOWTO/Font-HOWTO-5.html
|
||||
|
||||
I have included a test PostScript(tm) file called "test.ps" that you can
|
||||
fire up in GhostScript to see if you have that set up correctly.
|
||||
|
||||
I have also included a file, "symbols.png" to show you which characters
|
||||
you need to type to get the various MICR symbols.
|
||||
|
||||
Note that to function in the MICR readers, this font must be sized
|
||||
exactly right. GnuMICR is designed to be used at 12 point size.
|
||||
|
||||
Good luck!
|
||||
@@ -0,0 +1,3 @@
|
||||
GnuMICR.otf is licensed under the GNU General Public License v2.0.
|
||||
Source: https://github.com/alerque/gnumicr
|
||||
Full license text: https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
Feb 2, 2004
|
||||
Hm, this version 0.30 has been sitting around for a while, put it out
|
||||
there! Several people have reported using this font with good success,
|
||||
even in commercial applications.
|
||||
|
||||
August 12, 2000
|
||||
I have someone who is willing to test the TTF version of this font in
|
||||
the real world, on a fairly large scale... we'll see how it goes!
|
||||
|
||||
The TTF version was just converted by a font program, so I have no
|
||||
idea if conversion errors were introduced.
|
||||
|
||||
July 1, 2000
|
||||
First Public Release
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
GNUMICR MICR / E13-B font
|
||||
|
||||
A PostScript(tm) Type 1 MICR Font released under the GPL.
|
||||
|
||||
Copyright (c) 2000-2003, Eric Sandeen <sandeen-gnumicr *at* sandeen *dot* net>
|
||||
|
||||
This font is released under the GNU General Public License ("GPL")
|
||||
(see the file COPYING for details).
|
||||
|
||||
Important details to note about the license:
|
||||
|
||||
1) This font comes with NO WARRANTY. I am not responsible for any
|
||||
damages or expenses resulting from its use.
|
||||
|
||||
2) This font may only be distributed with the license and the source code
|
||||
to the font intact. It's not exactly clear to me how the GNU GPL applies to
|
||||
fonts, but in my eyes, the font file "GnuMICR.raw" is the "source code" to
|
||||
this font, and the files "GnuMICR.pfa" and "GnuMICR.pfb" are the compiled
|
||||
versions. if you redistribute the "compiled" version, you must also
|
||||
distribute, or offer to distribute, the "source" version (see COPYING).
|
||||
|
||||
Also, it is my wish that this font not be distributed in such a way
|
||||
that it is built into a proprietary piece of software. I'll leave
|
||||
the legal wrangling to the lawyers, but in my opinion, if you
|
||||
write, say, a non-GPL'd check printing application for Windows,
|
||||
you should not hard-code or embed this font into your application.
|
||||
I feel that this would be the font-equivalent of linking libraries.
|
||||
If you wish to distribute this font with your app, that's fine,
|
||||
but I feel that it should be distributed alongside the application,
|
||||
with all copyright & license info intact, per the terms of the GPL.
|
||||
|
||||
I have spent MANY hours on this font. Please respect my work, and
|
||||
follow my wishes regarding licensing of this particular font.
|
||||
|
||||
For a brief introduction to fonts, copyright, and piracy, see
|
||||
"Ethics and Licensing Issues Related to Type" at
|
||||
http://www.linuxdoc.org/HOWTO/Font-HOWTO-12.html
|
||||
|
||||
--------------------------
|
||||
|
||||
Ok, with that out of the way...
|
||||
|
||||
A while ago, I set out to be able to print my own checks under Linux. The
|
||||
first requirement was that I find a MICR font (those funky numbers and
|
||||
symbols at the bottom of your check) that could be freely
|
||||
distributed with the application. I quickly found that such a thing didn't
|
||||
exist, so I set out to make my own. This font is the result.
|
||||
|
||||
I coded this font by hand, without the aid of any GUI font application.
|
||||
My goal was to be as accurate as possible, with complete control over
|
||||
the resulting font. I found dimensions and other specs for the font
|
||||
and their use at http://www.cdnpay.ca/eng/rules/006.ENG.htm
|
||||
This seems to be mostly geared towards Canadian standards, but the MICR
|
||||
font is an ISO standard, and the glyph dimensions should be the same
|
||||
as are used in the United States.
|
||||
|
||||
My sole source for information for this font was the URL above. This font
|
||||
is NOT a modified version of any existing MICR font.
|
||||
|
||||
The "source code" to this font is the file "GnuMICR.raw" This file
|
||||
may be converted into an actual Type 1 (.pfa or .pfb) font with
|
||||
the "t1utils" package available
|
||||
at http://www.lcdf.org/~eddietwo/type/#t1utils
|
||||
|
||||
I have not had this font tested by any bank. You should get best results
|
||||
with a 600dpi PostScript(tm) printer, probably worse results with a 300
|
||||
dpi laserjet printer via GhostScript. The hinting on the font is likely
|
||||
not perfect, so rendering at lower DPI may introduce some errors.
|
||||
|
||||
I have had some very good reports of people using this font for
|
||||
commercial printing, however.
|
||||
|
||||
I'm not a PostScript(tm) expert by any means. If anyone who is reading
|
||||
this document _is_ and would like to offer suggestions or patches for the
|
||||
font or its associated .afm file, please feel free to do so.
|
||||
|
||||
Also, if you have access to the tools needed to really test the font,
|
||||
and you feel like doing that, I would really like to hear from you.
|
||||
I'd like to make this the best MICR font available. I think it's
|
||||
well on its way - see "comparison.png" for an overlay of GnuMICR
|
||||
vs. a sample from a commercial font. Note the strange arcs in some
|
||||
regions of the commercial font.
|
||||
|
||||
The TTF font provided in this package was converted by a third
|
||||
party using Windows NT. As such, I have very little confidence
|
||||
in the quality of the TTF font. If you want the result of my hard
|
||||
work on dimensional accuracy, use the postscript font.
|
||||
|
||||
See the file INSTALL for help installing this font.
|
||||
|
||||
-Eric Sandeen
|
||||
July 1, 2000
|
||||
Updated March 2, 2003
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 5.9 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 4.9 KiB |
@@ -0,0 +1,14 @@
|
||||
%!
|
||||
|
||||
/GnuMICR findfont
|
||||
12 scalefont
|
||||
setfont
|
||||
|
||||
newpath
|
||||
|
||||
100 500 moveto
|
||||
(0123456789 A B C D) show
|
||||
|
||||
stroke
|
||||
|
||||
showpage
|
||||
Reference in New Issue
Block a user