File Coverage

blib/lib/MARC/Charset/Constants.pm
Criterion Covered Total %
statement 89 89 100.0
branch 23 26 88.4
condition n/a
subroutine 26 26 100.0
pod 0 1 0.0
total 138 142 97.1


line stmt bran cond sub pod time code
1             package MARC::Charset::Constants;
2              
3             =head1 NAME
4              
5             MARC::Charset::Constants - constants for MARC::Charset
6              
7             =head1 SYNOPSIS
8              
9             use MARC::Charset::Constants qw(:all);
10              
11             =head1 DESCRIPTION
12              
13             MARC::Charset needs to recognize various codes which are given
14             descriptive names and assigned to constants in this package.
15              
16             =cut
17              
18 18     18   111670 use strict;
  18         41  
  18         717  
19 18     18   98 use warnings;
  18         35  
  18         566  
20 18     18   116 use base qw( Exporter );
  18         38  
  18         1657  
21              
22 18     18   109 use constant ESCAPE => chr(0x1B);
  18         63  
  18         1555  
23              
24 18     18   101 use constant SINGLE_G0_A => chr(0x28);
  18         40  
  18         1097  
25 18     18   117 use constant SINGLE_G0_B => chr(0x2C);
  18         35  
  18         1072  
26 18     18   101 use constant MULTI_G0_A => chr(0x24);
  18         109  
  18         1036  
27 18     18   92 use constant MULTI_G0_B => chr(0x24) . chr(0x2C);
  18         35  
  18         915  
28              
29 18     18   90 use constant SINGLE_G1_A => chr(0x29);
  18         33  
  18         890  
30 18     18   124 use constant SINGLE_G1_B => chr(0x2D);
  18         32  
  18         1081  
31 18     18   86 use constant MULTI_G1_A => chr(0x24) . chr(0x29);
  18         35  
  18         935  
32 18     18   92 use constant MULTI_G1_B => chr(0x24) . chr(0x2D);
  18         31  
  18         2431  
33              
34 18     18   102 use constant GREEK_SYMBOLS => chr(0x67);
  18         61  
  18         822  
35 18     18   95 use constant SUBSCRIPTS => chr(0x62);
  18         39  
  18         845  
36 18     18   316 use constant SUPERSCRIPTS => chr(0x70);
  18         59  
  18         857  
37 18     18   93 use constant ASCII_DEFAULT => chr(0x73);
  18         30  
  18         1225  
38              
39 18     18   129 use constant BASIC_ARABIC => chr(0x33);
  18         28  
  18         806  
40 18     18   98 use constant EXTENDED_ARABIC => chr(0x34);
  18         30  
  18         887  
41 18     18   106 use constant BASIC_LATIN => chr(0x42);
  18         29  
  18         815  
42 18     18   91 use constant EXTENDED_LATIN => chr(0x45);
  18         26  
  18         854  
43 18     18   86 use constant CJK => chr(0x31);
  18         41  
  18         1060  
44 18     18   88 use constant BASIC_CYRILLIC => chr(0x4E);
  18         32  
  18         936  
45 18     18   92 use constant EXTENDED_CYRILLIC => chr(0x51);
  18         31  
  18         865  
46 18     18   84 use constant BASIC_GREEK => chr(0x53);
  18         30  
  18         860  
47 18     18   94 use constant BASIC_HEBREW => chr(0x32);
  18         30  
  18         6931  
48              
49             our %EXPORT_TAGS = ( all => [ qw(
50             ESCAPE GREEK_SYMBOLS SUBSCRIPTS SUPERSCRIPTS ASCII_DEFAULT
51             SINGLE_G0_A SINGLE_G0_B MULTI_G0_A MULTI_G0_B SINGLE_G1_A
52             SINGLE_G1_B MULTI_G1_A MULTI_G1_B BASIC_ARABIC
53             EXTENDED_ARABIC BASIC_LATIN EXTENDED_LATIN CJK BASIC_CYRILLIC
54             EXTENDED_CYRILLIC BASIC_GREEK BASIC_HEBREW) ]);
55              
56             our @EXPORT_OK = qw(
57             ESCAPE GREEK_SYMBOLS SUBSCRIPTS SUPERSCRIPTS ASCII_DEFAULT
58             SINGLE_G0_A SINGLE_G0_B MULTI_G0_A MULTI_G0_B SINGLE_G1_A
59             SINGLE_G1_B MULTI_G1_A MULTI_G1_B BASIC_ARABIC
60             EXTENDED_ARABIC BASIC_LATIN EXTENDED_LATIN CJK BASIC_CYRILLIC
61             EXTENDED_CYRILLIC BASIC_GREEK BASIC_HEBREW);
62              
63             sub charset_name
64             {
65 116     116 0 2180 my $charset = shift;
66 116 50       502 return 'GREEK_SYMBOLS' if $charset eq GREEK_SYMBOLS;
67 116 100       311 return 'SUBSCRIPTS' if $charset eq SUBSCRIPTS;
68 115 100       229 return 'SUPERSCRIPTS' if $charset eq SUPERSCRIPTS;
69 114 50       329 return 'ASCII_DEFAULT' if $charset eq ASCII_DEFAULT;
70 114 100       270 return 'BASIC_ARABIC' if $charset eq BASIC_ARABIC;
71 113 100       226 return 'EXTENDED_ARABIC' if $charset eq EXTENDED_ARABIC;
72 112 100       433 return 'BASIC_LATIN' if $charset eq BASIC_LATIN;
73 36 100       182 return 'EXTENDED_LATIN' if $charset eq EXTENDED_LATIN;
74 12 100       43 return 'CJK' if $charset eq CJK;
75 9 100       27 return 'BASIC_CYRILLIC' if $charset eq BASIC_CYRILLIC;
76 6 100       17 return 'EXTENDED_CYRILLIC' if $charset eq EXTENDED_CYRILLIC;
77 5 100       23 return 'BASIC_GREEK' if $charset eq BASIC_GREEK;
78 2 50       13 return 'BASIC_HEBREW' if $charset eq BASIC_HEBREW;
79             }
80              
81              
82             1;