class TkNamedFont

Public Class Methods

find(name) click to toggle source

for built-in named fonts

# File lib/tk/font.rb, line 2235
def TkNamedFont.find(name)
  name = name.to_s
  unless (obj = Tk_FontNameTBL[name])
    obj = self.new(name) if TkFont.is_system_font?(name)
  end
  obj
end
new(name, keys=nil) click to toggle source
# File lib/tk/font.rb, line 2243
def TkNamedFont.new(name, keys=nil)
  name = name.to_s
  obj = nil
  Tk_FontNameTBL.mutex.synchronize{
    unless (obj = Tk_FontNameTBL[name])
      (obj = self.allocate).instance_eval{
        @id = @compoundfont = name.to_s
        @latinfont = nil
        @kanjifont = nil
        @descendant = [self, self] # [latin, kanji] : dummy
        Tk_FontNameTBL[@id] = self
      }
    end
  }
  obj.instance_eval{ initialize(name, keys) }
  obj
end
new(name, keys=nil) click to toggle source
# File lib/tk/font.rb, line 2264
def initialize(name, keys=nil)
  @id = @compoundfont = name.to_s

  # if not exist named font, create it.
  begin
    if keys
      tk_call('font', 'configure', @compoundfont, keys)
    else
      tk_call('font', 'configure', @compoundfont)
    end
  rescue
    # the named font doesn't exist -> create
    if keys
      tk_call('font', 'create', @compoundfont, keys)
    else
      tk_call('font', 'create', @compoundfont)
    end
  end
end

Public Instance Methods

kanji_font_id() click to toggle source
# File lib/tk/font.rb, line 2300
def kanji_font_id
  @compoundfont
end
latin_font_id() click to toggle source
# File lib/tk/font.rb, line 2297
def latin_font_id
  @compoundfont
end

Private Instance Methods

create_compoundfont(ltn, knj, keys) click to toggle source
# File lib/tk/font.rb, line 2290
def create_compoundfont(ltn, knj, keys)
  # ignore
end
create_kanjifont(fnt) click to toggle source
# File lib/tk/font.rb, line 2287
def create_kanjifont(fnt)
  # ignore
end
create_latinfont(fnt) click to toggle source
# File lib/tk/font.rb, line 2284
def create_latinfont(fnt)
  # ignore
end