Module: Thermal::Db

Extended by:
Forwardable, Db
Included in:
Db
Defined in:
lib/thermal/db.rb,
lib/thermal/db/data.rb,
lib/thermal/db/device.rb,
lib/thermal/db/loader.rb,
lib/thermal/db/charset.rb,
lib/thermal/db/encoding.rb,
lib/thermal/db/cjk_encoding.rb

Defined Under Namespace

Modules: Data, Loader Classes: Charset, CjkEncoding, Device, Encoding

Constant Summary collapse

DEFAULT_DEVICE =
'escpos_generic'
DEFAULT_CODEPAGES =
{ 0 => 'cp437' }.freeze
DEFAULT_CHARSETS =
[0].freeze

Instance Method Summary collapse

Instance Method Details

#device(device) ⇒ Object



23
24
25
26
# File 'lib/thermal/db.rb', line 23

def device(device)
  loader = ::Thermal::Db::Loader
  loader.device(device) || loader.device(DEFAULT_DEVICE)
end

#find_cjk_encoding(locale) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/thermal/db.rb', line 28

def find_cjk_encoding(locale)
  return unless locale

  case locale.to_s.downcase.tr('_', '-')
  when /\Aja(-.+)?\z/, 'jp'
    'shift_jis'
  when /\Ako(-.+)?\z/, 'kr'
    'ksc5601'
  when /\A(zh)?-?(hant(-.+)?|tw|hk|mo)\z/
    'big5'
  when /\Azh(-.+)?\z/, 'zhhans', 'cn', 'sg', 'my'
    'gb18030'
  end
end