Commit graph

52 commits

Author SHA1 Message Date
Bernardo Gonzalez Kriegel
0ac72275aa Bug 12068 - label-create-pdf.pl Add support for RTL language
On top of Bug 8375

If you print a label using arabic/hebrew script,
letters are printed in logical direction, from left
to right, giving a mangled result

This patch will try to fix those cases adding a new
perl dependency, Text::Bidi, and using the automagic
feature if it's log2vis() function to rearrange chars
based on detected text 'direction'

To test:
1. Install Text::Bidi package
(apt-get install libtext-bidi-perl)

2. Try a batch, using Helvetica, with a mix of
ltr and rtl (arabic/hebrew) titles, chars are good,
but direction is bad

NOTE: I suggest changing the mapping for 'HO' font
on koha-conf.xml, from DejaVuSans-Oblique.ttf to
DejaVuSans.ttf to view 'title' chars

3. Apply the patch

4. Try again, now the result is good

Formerly a followup of Bug 8375, look sample pics
on that Bug.
Rebased following changes on Bug 8375

Note: Arabic titles will not be displayed, because
current code selects Oblique variant (unless you
change mapping as suggested on 2. )
Hebrew looks good.

Rebased and move use of new dependency to Labels.pm

Rebased on master

Signed-off-by: Karam Qubsi <karamqubsi@gmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Tested with the help of Bernardo. With the patch
the characters of RTL strings appear in the correct
order in the generated PDF files.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-10-21 16:14:57 -03:00
Bernardo Gonzalez Kriegel
845af19915 Bug 8375: (follow-up) fix font code and alignment
This patch fixes two problems:
a) Bad PDF when using Helvetica font.
Current label code assigns 'italic' or 'oblique' variants
to title. Helvetica-Oblique was not defined, but is present

b) Bad alignment using center/right justification
Problem was bad font parameter passed to StrWidth
routine

To test:
1. Try making a batch using Helvetica, downloaded PDF do not open.
2. Try a batch of mixed scripts with layout alignment center or
   right, only latin scripts align almost correctly.
3. Apply the patch and update your koha-conf.xml to add Oblique variant
4. Try again 1, now PDF opens
5. Try 2, now alignment is correct

New problem (for another bug): DejaVuSans has a good
support for arabic, but not Oblique variant. As selection
of italic/oblique is hardcoded, now Arabic titles are
not displayed. I'll try to add a checkbox to select
or not this feature.

Added a FIXME for the hardcoded forced oblique -chris_n

Signed-off-by: Chris Nighswonger <cnighswonger@foundations.edu>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-05-05 21:55:16 +00:00
4720cbc414 Bug 11402: make Labels::_guide_box return undef if undefned data is passed
That's it. A guide box cannot be created if invalid data is passed.

Sponsored-by: Universidad Nacional de Cordoba
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script, includes new unit tests.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-12-30 16:17:35 +00:00
Galen Charlton
edb8bddff0 bug 9370: improve splitting of LC call numbers for labels
Use the Perl module Library::CallNumber::LC to parse and split
LC call numbers when generating spine labels.

For example, QH541.15.C6 C25 2012 should be split as follows:

QH
541.15
.C6
C25
2012

To test, create an item with call number QH541.15.C6 C25 2012
and classification source LC, then create a spine label for that
item using a layout of type 'biblio' that has the split call numbers
option enabled.  The call number should be split as indicated above.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-06-12 07:44:10 -07:00
Dobrica Pavlinusic
18d4772323 Bug 6448 [3/3] EAN-13 barcode labels
Current implementation doesn't scale barcodes because low-price
CCD barcode readers are very sensitive about size

Test scenario:

1. in Tools > Labels create or edit Layout and select EAN13 as barcode
   type

2. export one of existing batches using EAN13 layout and verify that
   generated pdf file contains barcodes

3. print pdf file and test it with barcode reader

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
2012-08-02 18:41:36 +02:00
Chris Cormack
509d673f10 Bug 7941 : Fix version numbers in modules
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-06-11 17:29:38 +02:00
Chris Nighswonger
c7ba7fa8b2 Bug 7615 - Give option to use description for homebranch/holding branch in label creator instead of the branchcode
This patch adds the ability to print the name of the item's homebranch on labels

Thanks to Shane Sammons <ssammons-at-npelem.com> for the modified SQL SELECT statement.

Document Manager: The documentation will need to be updated to reflect the added field 'branchname' to the list
of available fields for label printing.

To test:

1. Create a new label layout or modify an existing one to include 'branchname'
2. Create a new label batch or using an existing one, export the batch.
3. Verify that the resulting labels contain the home branch name for the respective items.

Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Tested with the plan - works

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-03-08 16:12:50 +01:00
Marc Balmer
c9c6bbdea8 Bug 7356 - Fix various typos and mis-spellings
Fix typos: the the -> the, wether -> whether, developper -> developer.

http://bugs.koha-community.org/show_bug.cgi?id=7356
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-01-13 11:51:26 +01:00
d2f49e1976 bug 5653: use itemcallnumber in bib label layouts
The sample bib label layouts and the hard-coded default
format_string for new layouts used 'callnumber' when they
should have used 'itemcallnumber', preventing call numbers
from being printed on spine labels that use the system-supplied
layouts.  Besides correcting the sample data, this patch
now also enshrines 'callnumber' as an alias for 'itemcallnumber'.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
After applying patch it works for new and old layouts (itemcallnumber and callnumber).

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-06-13 11:15:34 +12:00
Jared Camins-Esakov
139f7343f4 Bug 3543: split NLM call numbers in label creator
Split NLM call numbers using the same rules as those used for Library of
Congress call numbers.

Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-04-28 09:04:48 +12:00
ce5e2429db fixing various links to point to *.koha-community.org
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-10-21 22:08:24 -04:00
Chris Nighswonger
947b47954e Bug 5249 - Guide boxes do not print when selected for a layout 2010-09-24 14:42:42 -04:00
573ac9488f remove a bunch of unconditional debug warns
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-07-02 10:57:08 -04:00
f966c0f84c Allow UNIMARC item callnumber splitting
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-04-16 01:00:19 -04:00
Lars Wirzenius
7279f55b60 Fix FSF address in directory C4/
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-03-16 20:17:56 -04:00
Chris Nighswonger
2433a91e92 Removing depricated file from the C4::Labels module.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-02-08 20:54:40 -05:00
Chris Nighswonger
84d5b28f12 Bringing label, patroncard, and creator modules into conformity with the rest of C4 style.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-02-08 20:54:34 -05:00
Chris Nighswonger
ff13d25bb3 Bugfix: Various Label Creator bugs
This fixes:

* A bug which caused the label template editor to throw
an error when saving when no previous profile was applied.

* A typo which caused a 'fetch without execute' error in Labels.pm

It also comments out several useless warns
2010-01-19 22:27:09 -05:00
Chris Nighswonger
ed7009df42 [30/30] Removing depricated files 2010-01-11 18:21:43 -05:00
Chris Nighswonger
4a675bcaad [5/30] A rework of Label Creator code
This rework removes code held in common with the Patron Card Creator
and move is to the new C4::Creators module.
2010-01-11 18:16:52 -05:00
Chris Nighswonger
3bab38c3fc Bug 3706 Label templates/layouts do not save properly
Two issues here:

1. No radio box was selected by default in the format section of the layout editor. This actually needs some additional attention to allow the user
to establish a default method of entering the format string. As noted in comments in the code, this would probably be best implimented by adding yet
another syspref. However, I don't have time atm.

2. On saving a new template, if no profile was assigned to the new template, the script threw an error and died.

Both issues are addressed in this patch.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2009-10-14 10:17:10 -04:00
Chris Nighswonger
39f870c5f9 Bug 3649 Code39 Mod10 and Mod43 barcodes are produced with Mod9 checksums
This may not present a problem inside of Koha, but would if scanned with
software expecting mod10 or mod43.

Current code uses the 'visa' method of the Algorithm::CheckDigits module which
produces mod9 checksums.

The patch changes to using 'code_39' for mod43 and 'siret' for mod10.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2009-10-07 05:56:51 -04:00
Chris Nighswonger
c25dc92fd1 Bug 2500 Correcting incorrect splitting of cutter numbers
This patch does two things to improve the call number splitting algorithms:

1. It makes changes to ensure that cutter numbers are split correctly in ddcns

2. It moves custom/fiction/biography call number splitting to a separate algorithm.
    Before they were incorrectly placed in ddcns.

This patch also modifies the call number splitting tests to accept call numbers from the
command line to allow quick testing of any give call number against a particular algorithm.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2009-09-15 20:29:16 -04:00
056152e142 debugify a warn
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2009-09-05 21:43:13 -04:00
0bbcfeda0e replace syslog with warns
As discussed with Chris Nighswonger on #koha, this patch
removes the calls to syslog and replaces them with warns
so that error messages generated by the labels code
are sent to the Apache error log.  This avoids splitting
this sort of logging across multiple files and is consistent
with current practice in most of the rest of Koha.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2009-09-05 21:43:12 -04:00
Chris Nighswonger
3720e0261f Fixing warns (tnx to Chris Cormack for identifying these)
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2009-09-05 19:56:20 -04:00
Chris Nighswonger
e1a4e7c756 [39/40] Removeing depricated functions from label module. 2009-09-01 15:57:56 -04:00
Chris Nighswonger
9b56b1ead9 [35/40] Work on C4::Labels tests and various bugfixs resulting
This patch also moves the Labels tests into their own sub directory.

Due to a squash mistake this patch also includes the following:

Fixing up POD for C4::Labels modules

Also a minor bugfix and code refactoring.
2009-09-01 15:54:01 -04:00
Chris Nighswonger
dfca27d898 [33/40] Porting call number splitting improvements from HEAD 2009-09-01 15:53:40 -04:00
Chris Nighswonger
38817fb300 [31/40] Misc bugfixes and cosmetic cleanup. 2009-09-01 15:53:18 -04:00
Chris Nighswonger
39d227d712 [24/40] Adding single/multiple label printing to label export code and interface.
This adds single/multiple label printing by item number along with new CSV and XML export code.
2009-09-01 15:51:58 -04:00
Chris Nighswonger
51db13b8da [23/40] Initial work on label export interface. 2009-09-01 15:51:47 -04:00
Chris Nighswonger
c468a724b4 [22/40] General code cleanup of new labels module code. 2009-09-01 15:51:39 -04:00
Chris Nighswonger
4b4b161d50 [21/40] Adding de-duplicating method and associated label edit batch code. 2009-09-01 15:51:26 -04:00
Chris Nighswonger
13e894585f [20/40] Work on label printing code. 2009-09-01 15:51:16 -04:00
Chris Nighswonger
c9e6962fd4 [18/40] Work on label item search. 2009-09-01 15:50:51 -04:00
Chris Nighswonger
86a5bc80e2 [17/40] Work on C4::Labels::Lib::html_table api to add link field option 2009-09-01 15:50:38 -04:00
Chris Nighswonger
ff606c3eb1 [16/40] Improvements to label management interface code. 2009-09-01 15:50:27 -04:00
Chris Nighswonger
a192e57f00 [15/40] Initial work on label batch edit interface. 2009-09-01 15:50:14 -04:00
Chris Nighswonger
204e051dff [14/40] Work on batch management interface. 2009-09-01 15:50:05 -04:00
Chris Nighswonger
0645c95a36 [13/40] Work on profile editor interface. 2009-09-01 15:49:53 -04:00
Chris Nighswonger
d47afd597b [12/40] Work on label managment interface. 2009-09-01 15:49:39 -04:00
Chris Nighswonger
4554222629 [11/40] Work on layout editor interface. 2009-09-01 15:49:29 -04:00
Chris Nighswonger
e12ae1892c [9/40] Work on template interface. 2009-09-01 15:48:50 -04:00
Chris Nighswonger
12663796ca [8/40] Adding new layout management page
This moves the layouts off of the labels tool start page to bring it into
conformity with the other parts of this tool.
2009-09-01 15:48:38 -04:00
Chris Nighswonger
f514a1b383 [7/40] Adding C4::Labels::Lib module
Library of often used label related linear functions
2009-09-01 15:48:31 -04:00
Chris Nighswonger
1ebc471e15 [6/40] Adding C4::Labels::Label Module
Creates and manipulates Label objects
2009-09-01 15:48:17 -04:00
Chris Nighswonger
b5d78283da [5/40] Adding C4::Labels::PDF module
This module provides a very light wrapper for PDF::Reuse and PDF::Reuse::Barcode
to make them a psuedo-class and allow OO-like calls. (AKA... a hack.)
2009-09-01 15:48:10 -04:00
Chris Nighswonger
c1e34919cd [4/40] Work on C4::Labels::Batch module 2009-09-01 15:48:01 -04:00
Chris Nighswonger
537880591a [3/40] Work on C4::Labels::Profile module and tests 2009-09-01 15:47:52 -04:00