Sha256: 9c780060fe8b184e571ff8120b19f112e58fa665351a56407ade995bb68878c6

Contents?: true

Size: 1.4 KB

Versions: 71

Compression:

Stored size: 1.4 KB

Contents

#!/usr/bin/env ruby
=begin
  glyphstring.rb - Ruby/Pango sample script.

  Copyright (c) 2002-2006 Ruby-GNOME2 Project Team
  This program is licenced under the same licence as Ruby-GNOME2.

  $Id: glyphstring.rb,v 1.3 2006/06/17 14:16:53 ktou Exp $
=end

require 'gtk2'

str = "Hello World"

lang = Pango::Language.new("ja_JP")
fd = Pango::FontDescription.new("Sans 18")

context = Gdk::Pango.context
context.language = lang
context.base_dir = Pango::DIRECTION_LTR
context.font_description = fd

p font = context.load_font(fd)
family = context.families[10]
puts "#{family.class}, #{family.name}"

family.faces.each do |face|
  puts face.name
end

p fmap = font.font_map

p fset = fmap.load_fontset(context, fd, lang)


gs = Pango::GlyphString.new

ink_rect, logical_rect = gs.extents(font)

p ink_rect.to_a
p logical_rect.to_a

item = Pango::Item.new
item.analysis.font = font
item.analysis.shape_engine = font.find_shaper(lang, str.codepoints.first)

gs = Pango.shape(str, item.analysis)

ink_rect, logical_rect = gs.extents(font, 0, 11)

p ink_rect.to_a
p logical_rect.to_a

gs.glyphs.each do |info, log_clusters|
  puts "Pango::GlyphInfo: log_clusters = #{log_clusters}, glyph = #{info.glyph}, geometry = #{info.geometry.inspect}, cluster_start? = #{info.cluster_start?}"
end

p gs.index_to_x(str, item.analysis, 3, false)
p gs.x_to_index(str, item.analysis, 103)

p logical_widths = gs.get_logical_widths(str, item.analysis.level)

Version data entries

71 entries across 63 versions & 2 rubygems

Version Path
savant-echo-1.0.4 bin/alexa-0.1.2-osx/lib/vendor/ruby/2.2.0/gems/pango-3.1.0/sample/glyphstring.rb
savant-echo-1.0.4 bin/packaging/vendor/ruby/2.2.0/gems/pango-3.1.0/sample/glyphstring.rb
pango-3.1.1-x64-mingw32 sample/glyphstring.rb
pango-3.1.1-x86-mingw32 sample/glyphstring.rb
pango-3.1.1 sample/glyphstring.rb
savant-echo-1.0.1 bin/packaging/vendor/ruby/2.2.0/gems/pango-3.1.0/sample/glyphstring.rb
savant-echo-1.0.1 bin/alexa-0.1.2-osx/lib/vendor/ruby/2.2.0/gems/pango-3.1.0/sample/glyphstring.rb
savant-echo-0.1.91 bin/packaging/vendor/ruby/2.2.0/gems/pango-3.1.0/sample/glyphstring.rb
savant-echo-0.1.91 bin/alexa-0.1.2-osx/lib/vendor/ruby/2.2.0/gems/pango-3.1.0/sample/glyphstring.rb
savant-echo-0.1.9 bin/alexa-0.1.2-osx/lib/vendor/ruby/2.2.0/gems/pango-3.1.0/sample/glyphstring.rb
savant-echo-0.1.9 bin/packaging/vendor/ruby/2.2.0/gems/pango-3.1.0/sample/glyphstring.rb
savant-echo-0.1.6 bin/packaging/vendor/ruby/2.2.0/gems/pango-3.1.0/sample/glyphstring.rb
savant-echo-0.1.6 bin/alexa-0.1.2-osx/lib/vendor/ruby/2.2.0/gems/pango-3.1.0/sample/glyphstring.rb
savant-echo-0.1.5 bin/alexa-0.1.2-osx/lib/vendor/ruby/2.2.0/gems/pango-3.1.0/sample/glyphstring.rb
savant-echo-0.1.5 bin/packaging/vendor/ruby/2.2.0/gems/pango-3.1.0/sample/glyphstring.rb
savant-echo-0.1.4 bin/alexa-0.1.2-osx/lib/vendor/ruby/2.2.0/gems/pango-3.1.0/sample/glyphstring.rb
savant-echo-0.1.4 bin/packaging/vendor/ruby/2.2.0/gems/pango-3.1.0/sample/glyphstring.rb
savant-echo-0.1.3 bin/alexa-0.1.2-osx/lib/vendor/ruby/2.2.0/gems/pango-3.1.0/sample/glyphstring.rb
savant-echo-0.1.3 bin/packaging/vendor/ruby/2.2.0/gems/pango-3.1.0/sample/glyphstring.rb
pango-3.1.0-x64-mingw32 sample/glyphstring.rb