Class: TkNamedFont (Ruby 2.3.4)

In Files

  • tk/lib/tk/font.rb

Class/Module Index [+]

Quicksearch

TkNamedFont

Public Class Methods

find(name)

for built-in named fonts

 
               # File tk/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)
 
               # File tk/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)
 
               # File tk/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()
 
               # File tk/lib/tk/font.rb, line 2300
def kanji_font_id
  @compoundfont
end
            
latin_font_id()
 
               # File tk/lib/tk/font.rb, line 2297
def latin_font_id
  @compoundfont
end