rubyとは?

辞典・百科事典の検索サービス - Weblio辞書

初めての方へ

参加元一覧


用語解説|製品情報|ニュース|動画|本・雑誌|文献|全文検索|用例

三省堂 大辞林

三省堂三省堂

ルビ 1 [ruby]

〔五号活字振り仮名である七号活字大きさルビー(2) に相当したことから〕

(1)振り仮名用の活字。主に四~六ポイントの小活字ルビー
(2)振り仮名
「―を付ける」「総―の本文

ルビー 1 [ruby]

(1)鋼玉(こうぎよく)の一。微量含まれるクロムによって赤色呈する良質のものは宝石にする。七月誕生石ミャンマーマンダレー地方産が有名。紅玉

(2)五・五ポイント欧文活字古称
→ルビ



印刷関係用語集

印刷関係用語集印刷関係用語集

ルビ 【ruby】

漢字などに添え振り仮名。本来は、振り仮名用の活字のこと。


広告用語辞典

広告転職.com広告転職.com

ルビ ruby

難し漢字や、筆者意図どおりに読ませたい漢字の横または上に付けられる小さな活字のこと。(ふりがな


OSS用語集

OSS iPediaOSS iPedia

IT用語辞典バイナリ

IT用語辞典バイナリIT用語辞典バイナリ

Ruby

読み方ルビー

Rubyとは、まつもとゆきひろ氏によって開発されたオブジェクト指向スクリプト言語の名称である。

Rubyはシンプル文法や、可読性の高い構文優れたテキスト処理などを特徴としている。本格的オブジェクト指向備えているが、手続き型の処理を行うことも可能である。

RubyはオープンソースソフトウェアOSS)として無償で提供されており、公式Webサイトなどからダウンロードして利用することができる。また、UNIXはじめとしてLinuxWindowsMac OSなど、様々なプラットフォーム上で動作させることができる。

Rubyは手軽本格的プログラミングが可能な言語として、日本もとより海外でも高い人気得ている。特に実用Webアプリケーション迅速に作成するためのフレームワークとして提唱されたRuby on RailsRoR)は、アジャイルソフトウェア開発手法として一大潮流を引き起こした。


参照リンク
オブジェクト指向スクリプト言語 Ruby
プログラミングのほかの用語一覧
スクリプト言語:  PHP  Perl  Python  Ruby  Ruby on Rails  シェル  スクリプト言語


鉱物図鑑

Kato's CollectionsKato's Collections

ルビー(Ruby)

通常光


ルビー

紫外線照射

ルビー
Jagdalek,Sorobi,Afghanistan


赤色発光上手く撮影出来ませんでした
上手く撮影できる方法知ってる人は教えて


ルビー(Ruby)

ルビー
Jagdalek,Sorobi,Afghanistan

ルビー(Ruby)

ルビー
Rais Mine,Polar,Ural,Russia
Al2O3 画像の幅約3.5cm

6角板状結晶雲母のように層状に重なっている標本です。

ルビー(Ruby)

ルビー
Jegdalek,Sarubi,Kabul,Afghanistan
Al2O3 画像の幅約1.8cm

標本としては貴重なルビーの透明結晶です。

原色大辞典

原色大辞典原色大辞典

ウィキペディア

ウィキペディアウィキペディア

Ruby

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2012/01/21 15:34 UTC 版)

Ruby
Rubyロゴ
パラダイム 構造化命令型オブジェクト指向
登場時期 1995年
設計者 まつもとゆきひろ
最新リリース 1.8.7-p352 2011年7月2日 / 1.9.3-p0 2011年10月31日
型付け 強い動的型付けダック・タイピング
主な処理系 Ruby、JRuby
影響を受けた言語 SmalltalkLispPerlPythonCLU
影響を与えた言語 Groovy
ライセンス 1.9.2まで: GPLRubyライセンスデュアル, (次バージョンの)1.9.3から: BSDLRubyライセンスデュアル [1]
ウェブサイト www.ruby-lang.org
テンプレートを表示

Ruby(ルビー)は、まつもとゆきひろ(通称Matz)により開発されたオブジェクト指向スクリプト言語であり、従来Perlなどのスクリプト言語が用いられてきた領域でのオブジェクト指向プログラミングを実現する。Rubyは当初1993年2月24日に生まれ、1995年12月にfj上で発表された。名称のRubyは、プログラミング言語Perlが6月の誕生石であるPearl(真珠)と同じ発音をすることから、まつもとの同僚の誕生石(7月)のルビーを取って名付けられた。

機能として、クラス定義ガベージコレクション、強力な正規表現処理、マルチスレッド例外処理イテレータクロージャMixin演算子オーバーロードなどがある。Perlの代替となることができることが初期の段階から重視されている。Perlと同様にグルー言語としての使い方が可能で、Cプログラムやライブラリを呼び出す拡張モジュールを組み込むことができる。

Ruby処理系は、主にインタプリタとして実装されている(詳しくは#実装を参照)。

構文は、ALGOL系を継承しながら、可読性を重視している。Rubyにおいては整数や文字列なども含めデータ型はすべてがオブジェクトであり、純粋なオブジェクト指向言語といえる。

長らく言語仕様が明文化されず、まつもとによる実装が言語仕様に準ずるものとして扱われて来たが、2010年6月現在、JRubyen:Rubiniusといった互換実装の作者を中心に機械実行可能な形で明文化するen:RubySpecという試みが行われている。公的規格としては2011年3月22日にJIS規格(JIS X 3017)が制定され、ISO化を目指している[2]

フリーソフトウェアとしてRubyライセンス(Ruby License や Ruby's と表記されることもある。GPLArtisticに似た独自ライセンスを選択するデュアルライセンス。)で配布されている。

目次

Ruby哲学

開発者のまつもとゆきひろは、「Rubyの言語仕様策定において最も重視しているのはストレスなくプログラミングを楽しむことである (Enjoy programming)」と述べている。(ただし、まつもとによる明文化された言語仕様は存在しない。)Perlのモットー「やり方はいろいろある (TMTOWTDI; There's More Than One Way To Do It)」は「多様性は善(Diversity is Good)」というスローガンでRubyに引き継がれてはいるものの最重要なものではないとも述べており、非推奨な手法も可能にするとともに、そのような手法を言語仕様により使いにくくすることによって自粛を促している。これは言語仕様が「望ましい」習慣の押し付けを行うということであり、洗脳言語(Babel-17)と言われる一面でもある。

実装

公式な実装

Rubyの公式な実装には、以下の二種類が存在する。

MRI(Matz' Ruby Implementation)
1.8.x以前の公式実装。まつもとゆきひろによって開発されはじめたC言語による実装であり、最も広く使われている。JRubyなどに対してCRubyと呼ばれることもある。また、JRubyなどに対しては、広義の意味で後述のYARVを取り込んだ1.9.xも含んでMRIと言うこともある。
YARV
1.9で採用された、MRIを拡張した公式な処理系。これはソースコードをバイトコードへコンパイルした後、バイトコードを仮想機械上で実行するインタプリタである。もともとは開発中におけるその仮想機械の名前。

その他の実装

JRuby
Javaベースの実装。純粋なJavaで行われているため、プラットフォーム非依存の利用が可能。ほとんどのRubyクラスが組み込みで提供されている。インタープリタ・実行時コンパイラ事前コンパイラの3種類が用意されている。事前コンパイラでは、Javaバイトコードへ変換し、JRubyが無くても他のJavaプラットフォーム上で動作させることが可能となる。
IronRuby
.NET Framework上でRubyを動作させる実装であり、.NET Frameworkのライブラリと連携させることができる。JIT方式のバイトコードインタプリタ。共通言語基盤に準拠した実装(Monoなど)で動作するため、プラットフォーム非依存の利用も可能(ただし、ソースコードが.NET Frameworkのライブラリに依存している場合はMonoでの動作は不可能)。
MacRuby
いずれもMac OS X上で動作するRuby実装。Cocoaを含む様々なフレームワークとの連携が可能。MacRubyはRubyCocoaの問題点を解決するために開発されている。
Rubinius
仮想機械上でRubyを実行するJIT方式のバイトコードインタプリタ。大部分がRubyで実装されている。
その他
Parrot上でRubyを動作させるための実装なども開発されている。

競合言語

プログラミング言語としてのRubyはオブジェクト指向の動的型付け言語のインタプリタ言語として最も人気あるもののひとつであり、多くの分野でPerlPythonと競合する。特にPythonとは共通する点が多く、このことがそれぞれの言語のユーザ同士の間で「どちらの言語が優れているか」といった論争を生んできた。しかしその論争は技術的な細部にとらわれた不毛な議論になることも多かった。

ここであえて両者の細部を比較はしないが、ユーザ数や書かれたシステムの数量・質、同等な機能を持つプログラムの実行速度などを現時点で比べると世界的にはPythonの方が人気が高い。一方、日本では開発者が日本人であることもあり、Rubyの人気は高く書籍も多く出版されている。とはいえ2004年前後まで圧倒的なキラーアプリがなく、tDiaryバグトラッキングシステム影舞」程度しか知られていなかったため、大きな普及には至らなかった。ところが2004年末に発表され2005年に大ブレイクしたRuby on Railsにより注目を集めている。

基本的なコード

# 文字列、数値を含め、全てがオブジェクトである
-199.abs                                       # 199
"ruby is cool".length                          # 12
"Rick".index("c")                              # 2
"Nice Day Isn't It?".split(//).uniq.sort.join  # " '?DINaceinsty"

コレクション

配列の作成と使用法

a = [1, 'hi', 3.14, 1, 2, [4, 5]]
 
a[2]                      # 3.14
a.reverse                 # [[4, 5], 2, 1, 3.14, 'hi', 1]
a.flatten.uniq            # [1, 'hi', 3.14, 2, 4, 5]

ハッシュの作成と使用法

hash = {'water' => 'wet', 'fire' => 'hot'}
hash = {water: 'wet', fire: 'hot'} # シンボルリテラルをキーとする場合、Ruby 1.9 からはこのような Javascript 風の表記ができる。
puts hash['fire']       # 表示:  hot
 
hash.each do |key, value|
  puts "#{key} is #{value}"
end
 
# 表示:               water is wet
#                     fire is hot
 
hash.delete_if {|key, value| key == 'water'}   # Deletes 'water' => 'wet'

制御構造

ほかの言語でもよくみられるような制御構造を用いることができる

if "fablic".length > 3
  puts 'ya'
else
  puts 'nop'
end
# 表示:         ya
 
n = 0
while n < 3
  puts 'foobar'
  n += 1
end
# 表示:         foobar
#               foobar
#               foobar

一部の制御構造は後述するイテレータで代替することができる。

ブロック付きメソッド呼び出し

Rubyではブロック付きメソッド呼び出しを用いるコードが好まれることが多い。これを用いると、ユーザー定義の制御構造コールバックなど様々な処理を簡潔に記述できるからである。

ブロックとは波括弧({, })またはdo, endによって囲まれたコード列のことである。メソッド呼び出しの末尾に記述することが出来る。

# { ... }
method1 { puts "Hello, World!" }
# do ... end
method2 do
  puts "Hello, world!"
end

ブロック付きメソッド呼び出しが繰り返し処理を主な役割としていたことから、イテレータと呼ばれていた時期がある。しかし、実際には繰り返し処理にとどまらず、様々な使われ方をしているので、最近はブロック付きメソッド呼び出し全体の総称としてイテレータという名称を用いるのは適切でないと考えられている。[1]

繰り返し処理

配列の各要素への繰り返し処理

list = [1, 2, 5, 13, 21]
p list.map {|item| item * 2} # listの各要素を2倍するmap処理。collectはその別名である。
p list                       # mapでは元の配列の内容は変更されない。
list.map! {|item| item * 2}  # mapではなくmap!を実行すると元の内容が変更される。
p list                       # map! を実行した結果元の配列の内容が変更されていることが確認できる

以下はブロックを使わずに同じことを行う場合

list = [1, 2, 5, 13, 21]
n = 0
while n < list.length
  list[n] *= 2
  n += 1
end

指定した回数の繰り返し処理

3.times { puts 'foobar' }       # 制御構造の項のwhileの例と同じ

後処理の省力化

ブロックの内容を実行してから、決められた後処理を行うメソッドもある

File.open('file.txt', 'w+b') do |file|
  file.puts 'Wrote some text.'
end                             # Fileはここで自動的にcloseされる

これは次の例と同様の処理を行う(ensureについては例外処理の項を参照)

begin
  file = File.open('file.txt', 'w+b')
  file.puts 'Wrote some text.'
ensure
  file.close
end

本処理を後から指定

実際に行いたい処理をブロックで記述する。 前項の後処理の省力化もこれの一例といえる。

def bfs(list)       #配列をツリーに見立てた処理
  until list.empty?
    unit = list.shift
    yield unit      #ブロックの内容を実行
    unit.each{|v| list.push v} if defined? unit.push
  end
end
bfs([0,1,[2,3],4,[5,[6,7,8]],9]) {|v| p v}

この例は"ツリーから要素と分枝をつぎつぎと取り出し"て"取り出したものになんらかの処理を行う" ものである。メソッドの利用者は、"なんらかの処理"のみを記述すればよく、取り出しのアルゴリズムなど、本質的でない内容に意識を向ける必要がなくなる。

クロージャ

クロージャとなるようなブロックの引数渡し

# オブジェクトのインスタンス変数(変数名の頭に@が付く)でブロックを記憶。
def remember(&p)
  @block = p
end
# nameを受け取るブロックを引数に、上記のメソッドを呼び出す。
remember {|name| puts "Hello, " + name + "!"}
 
# 後に必要になった時点でクロージャを呼び出す。
@block.call("John")
# 表示:"Hello, John!"

メソッドからクロージャを返す例

def create_set_and_get(value = 0)
  return proc {|x| value = x}, proc { value }
end
 
setter, getter = create_set_and_get
setter.call(21)
getter.call # => 21

クラス

次のコードはPersonという名前のクラスである。その中、まずinitializeはオブジェクトを初期化するコンストラクタである。ほかに2つのメソッドがあり、1つは比較演算子である<=>オーバーライドしておりArray#sortによりプロパティageでソートすることができる。もう1つのオーバーライド箇所のto_sメソッドは Kernel#puts での表示の形式を整える。attr_readerはRubyにおけるメタプログラミングの例であり、attr はインスタンス変数の入出力を司る、いわゆるgetterやsetterメソッド(アクセサ)を定義する。attr_readerはgetterメソッドのみの定義である。なおメソッド中では最後に評価された式が返り値となり、明示的なreturnは省略できる。

class Person
  def initialize(name, age)
    @name, @age = name, age
  end
 
  def <=>(person)
    @age <=> person.age
  end
 
  def to_s
    "#{@name} (#{@age})"
  end
 
  attr_reader :name, :age
end
 
group = [ Person.new("John", 20),
          Person.new("Markus", 63),
          Person.new("Ash", 16)
        ]
 
puts group.sort.reverse

結果は3つの名前が年の大きい順に表示される

Markus (63)
John (20)
Ash (16)

例外処理

例外はなにか不具合が起こったときraiseの呼び出しで発生させることができる。 Rubyでの例外はExceptionクラスか、そのサブクラスのインスタンスである。

例外にはメッセージを追加することもできる

 raise "This is a message"

さらに例外のタイプも指定できる

 raise ArgumentError, "Illegal arguments!"

例外はrescue節で処理することができ、次のようにコードにrescueを付加するだけである

begin
  # 通常処理
rescue
  # 例外処理。引数を省略すると、StandardErrorのサブクラスの例外のみ処理する
rescue SomeError
  # 例外処理。SomeErrorの例外のみ処理する。
ensure
  # 例外の発生に関わらず必ず実行される処理
else
  # 例外が発生しなかったときに実行される処理
end

Rubyの周辺技術

  • 分散オブジェクトを実現するdRuby
  • Apache HTTP Serverに組み込むためのmod ruby
  • サーバサイドでHTMLへの埋め込みRuby文を実現するeRuby
  • Rubyスクリプトに埋め込むことができる文書形式RD
  • RubyによるRDを採用したWikiクローン、RWiki
  • RubyからSDLライブラリを扱えるようにするRuby/SDL
  • RubyからDelphiを扱えるようにするApollo
  • RubyによるWebアプリケーションフレームワークRuby on Rails
  • Rubyの別の処理系であるYARV(Yet another RubyVM)
  • Rubyの統合開発環境RDE(Ruby Development Environment)
  • RubyのコードをWindowsの実行形式ファイルに変換するExerb
  • Ruby用のライブラリ管理システムであるRubyGems
  • Microsoft WindowsActiveX環境でrubyインタープリターを呼び出すActiveScriptRuby (Internet Explorer限定だがHTMLに埋めこんでクライアント上で動かすスクリプト言語としてRubyを指定できるようになる - サーバ上で動作する eRubyとは区別すること)
  • RubyからWin32APICOMコンポーネントを呼び出すためのライブラリー WIN32OLE
  • JavaScriptやFlash上で動くRubyの処理系HotRuby
  • Rubyによるビヘイビア駆動開発のためのフレームワークRSpec
  • Rubyで書かれたビルドツール Rake

Rubyで開発されたアプリケーション

Rubyを組み込んだアプリケーション

RPGツクールXP・RPGツクールVX
株式会社エンターブレインから発売されているRPG制作ソフトシリーズのうち、RPGツクールXPRPGツクールVXでは、Rubyをツクール専用にカスタマイズした Ruby Game Scripting System (RGSS)を搭載している。同シリーズの従来ソフトではあらかじめ用意された機能しか使えなかったが、これにより戦闘などのシステムを一から構築する事が出来るようになった。

エピソード

Rubyではブロック構造をendで終える構文が採用されているが、開発者のまつもとゆきひろは他の構文が採用される可能性があったことを述べている。当時、Emacs上でendで終える構文をオートインデントさせた例はあまりなく、Ruby言語用の編集モードにオートインデント機能を持たせられるかどうかが問題になっていたためである[注釈 1]。実際には数日の試行でオートインデント可能であることがわかり、現在の構文になった。C言語のような{}を使った構文を採用することも検討されていたが、結局これは採用されなかった[3]

参考文献

関連項目

脚注

[ヘルプ]

注釈

  1. ^ まつもとゆきひろはEmacsのヘビーユーザーであることでも知られている。[要出典]

出典

  1. ^ “Ruby'sライセンスの、BSDLとのデュアルライセンスへの変更” (日本語). ruby-dev mailing list. (2010年9月24日). http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/42294 2011年4月20日閲覧。 
  2. ^ http://itpro.nikkeibp.co.jp/article/NEWS/20110920/368907/
  3. ^ まつもとゆきひろ 「探訪 Ruby 第6回」『Linux Magazine』56号、株式会社アスキー、2004年。

外部リンク


ルビ

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2011/12/22 03:04 UTC 版)

(ruby から転送)

ルビ: ruby)とは、文章内の任意の文字に対しふりがな/説明/異なる読み方といった役割の文字をより小さな文字で、通常縦書きの際は文字の右側/横書きの際は文字の上側に記されるものである。

目次

概要

明治時代からの日本の活版印刷用語であり、「ルビ活字」を使用し振り仮名日本語の場合)やピン音中国語の場合)などを表示したもの。日本で通常使用された5号活字にルビを振る際7号活字(5.25ポイント相当)を用いたが、一方、イギリスから輸入された5.5ポイント活字の呼び名が: rubyルビー)であったことから、この活字を「ルビ活字」とよび、それによってつけられた(振られた)文字を「ルビ」とよぶようになった。明治期つまり19世紀後半のイギリスでは活字の大きさを宝石の名前をつけてよんでいた[1]

ルビの振り方

ルビをつけることを一般的に「ルビを振る」と表現する。より専門的な用語として組版業界用語では「ルビを組む」と表現する。

ルビが必要となる場合

  • 漢字に読みをつける際に用いる。通常、ひらがなが用いられる。
  • 人名や地名など、一般的でない読み方をする場合に読み方をガイドする。
  • 漢字に限らず、任意の文字・単語に対して別の読み方を指定したい場合に使用する。
  • 外来語を翻訳した用語の場合に、その用語自体の読み方は一般的に自明だが元の外来語の発音を提示したい場合に用いる。この場合はカタカナが用いられる。
  • その他、文書の対象年齢が低い場合など必要に応じ総ルビを施す(少年向け漫画など)。また、かつての新聞はルビが多かった(「今日(けふ)」など簡易な物にも振ってあり、総ルビに近い)。
  • 未就学児向けの絵本などにおいて、カタカナにひらがなのルビを振ることがある。

ルビの実現方法

組版規則におけるルビ

組版についての詳細は組版を参照。

ルビの組み方

一般的な組版規則において、ルビの組み方は以下に挙げるような基本的なルールがある。

親文字との位置

親文字とは、ルビを振る対象となる元の文字(文字群)のこと。

  • 縦組みならば親文字の右、横組みならば上に付けるのが基本である。
    • ただし人物名に生没年をつけたり、漢文の書き下し文の組版をする場合には左右ないし上下の両方に付く。
  • 親文字に対する位置は肩付き、センタリング、ジャスティファイなどのルールがある。
  • 親文字の前後の文字が仮名もしくは空白の場合、半角分まで食い込みが可能。
    • 前後に食い込み可能な領域がある場合、後ろにはみ出すことが優先される。
    • 下記のことから、半角分とはつまりルビ1字に相当する。
  • 食い込み可能な領域がない、もしくは不足する場合、前後の文字との字間を空ける。
    • このときも後ろを空けるのが優先される。
ルビ文字のサイズ

組版において、ルビは基本的に親文字の半分のサイズの文字を用いる。冒頭にあるように基本の本文サイズが10.5ポイントならば5.25ポイントであるし、本文が14なら7級とするのがベーシックな組み方である。これには、振り仮名としては親文字となる漢字1字に対して2-3文字の仮名が振れれば多くの場合は充分、ということもある。

そのため漢字2字に対してはルビ4文字が基本であり、それを越える場合には親文字(単語)の字間を少しずつ空けるか写植以降ではルビ文字を変形加工(平体/長体という)するか、「3字ルビ」といった特殊ルビ文字を使用するなどの処理が行われる。

グループルビとモノルビ

漢字1文字ごとに読み仮名を振るルビをモノルビ、単語単位に振るルビをグループルビという。文字と読みの関係を学ぶ目的の文章、教科書や教材(特に低年齢用)ではモノルビが使用される。熟字訓当て字についてはグループルビが使用される。 Ruby-group-mono-ateji.png

捨て仮名

捨て仮名とは、「あ」に対する「ぁ」のように小字で表される仮名を指す印刷用語。

和文組版において、一般的に「基本」とされる組み方では捨て仮名は使わない。そのため、仮に「自由百科事典」に「ウィキペディア」とルビを付けるとしたら、「ウイキペデイア」となる。これには小さすぎるポイント・号数の活字では却って読みづらいという問題もあり、読みを助ける意味ではこれで充分であった。

ところが、既に日本語にある単語の振り仮名であるなら一般原則がわかっている読者であるためそれほど問題とはならないのであるが、外来語に関してはそれが一般的でないために「ウィキペディア」なのか「ウイキペデイア」(という単語)なのか分からなくなる。いいかえれば、そこに教育的啓蒙的な配慮が必要かどうかという問題が生じる。

上述したような教科書などの出版物では日本語の読みも含めて捨て仮名が使用されるし、近年はその他の出版物でも捨て仮名を使ったルビ組みも増加傾向にある模様である。

ルビ字形

ワープロソフトなどでは(一般的なデジタルフォント製品自体が対応していないので当然なのだが)ルビには通常の文字が使用される。ただし活字時代も含め、専用の組版機(写植電算写植など)ではルビ専用の仮名文字があることは当たり前だった。OpenTypeフォント製品にはこれを装備しているものがある。

HTML上のルビ

XHTML1.1でルビモジュールが導入され、ルビを記述できるようになった。それ以前からInternet Explorerが規格提唱とともに先行実装しており、レンダリングが可能である。Mozilla財団が開発しているブラウザ・Mozilla FirefoxをはじめとするGeckoブラウザでは拡張機能のXHTMLルビサポートによって対応されている。なお、ウィキペディアをはじめとしたXHTML1.0文章、HTML文章でのルビの使用は文法違反である。もっとも、ウィキペディアそのものでルビを使う事はウィキペディア日本語版を支えるソフトウェアであるMediaWiki問題無く使えるHTMLルビの範囲にルビモジュールが許可されているので、使用上の問題は無く許されている。

記述
表意文字である<ruby><rb>漢字</rb><rp>(</rp><rt>かんじ</rt><rp>)</rp></ruby>にルビを振る
現在使用しているブラウザで表示した結果
表意文字である漢字かんじにルビを振る
ルビに対応していないブラウザでの表示結果(例)
表意文字である漢字(かんじ)にルビを振る
ルビに対応しているブラウザでの表示結果(例)
か ん じ
表意文字である 漢字 にルビを振る

ユニコード上のルビ

Unicode(ユニコード)での標準的なルビ表示制御文字である[2]。ただし、HTMLのタグなどが使える環境の場合はタグによる指定に置き換えるべきである。

  • U+FFF9 — Interlinear annotation anchor - 親文字開始指定文字
  • U+FFFA — Interlinear annotation separator - ルビ開始指定文字
  • U+FFFB — Interlinear annotation terminator - ルビ終止指定文字
記述
表意文字である&#xFFF9;漢字&#xFFFA;かんじ&#xFFFB;にルビを振る
現在使用しているブラウザで表示した結果
表意文字である漢字かんじにルビを振る

JIS X 4052上のルビ

JIS X 4052「日本語文書の組版指定交換形式(Exchange format for Japanese documents with composition markup)」でのルビの記述は、タグ付け及び特殊記号によるものである。規格上はJIS P 0138JIS X 0201JIS X 0208JIS X 0213JIS X 0221JIS X 4051とJIS Z 8305とを適用する。

タグ付けによる対象要素の指定

#HTML上のルビ指定と同じ形式である。ただし、rp要素は使わない。

グループルビ記述
表意文字である<RUBY><RB>漢字</RB><RT>かんじ</RT></RUBY>にルビを振る
現在使用しているブラウザで表示した結果
表意文字である漢字かんじにルビを振る
モノルビ記述
表意文字である<RUBY><RBC><RB>漢</RB><RB>字</RB></RBC><RTC><RT>かん</RT><RT>じ</RT></RTC></RUBY>にルビを振る
現在使用しているブラウザで表示した結果
表意文字である<RBC></RBC><RTC>かん</RTC>にルビを振る

特殊記号による対象要素の指定

ルビ文字列及び親文字列からなる親文字群は、次のように指定する。開始記号列 _^。終止記号列 ^_。ルビ指定括弧は( )を使う。

グループルビ記述
表意文字である_^漢字(かんじ)^_にルビを振る
モノルビ記述
表意文字である_^漢(かん)字(じ)^_にルビを振る

JIS X 4081上のルビ

JIS X 4081「日本語電子出版検索データ構造(Retrieval data structure for Japanese electronic publication)」でのルビの記述は、表示制御記述子によるものである。規格上はJIS X 0208との組み合わせのみであるが、説明として数値文字参照表記で代用表記する。

記述
表意文字である&#x1F16;漢字&#x1F06;かんじ&#x1F07;にルビを振る

青空文庫上のルビ

青空文庫でのルビの記述は、視覚障碍者読書支援協会(BBA)の原文入力ルールであるルビ指定括弧《 》および親文字開始指定文字としてのを踏襲したものである。

記述
表意文字である|漢字《かんじ》にルビを振る

脚注

  1. ^ 参考:19世紀後半におけるイギリスでの文字サイズ名称として、他にエメラルド(6.5ポイント)、パール(5ポイント)、ダイアモンド(4.5ポイント)などが存在した。出典:屋内恭輔「XMLがわかる本」毎日コミュニケーションズ, p120。ISBN 4-8399-0762-5
  2. ^ http://www.unicode.org/unicode/reports/tr20/#Interlinear 3.6 Interlinear Annotation Characters, U+FFF9-U+FFFB

関連項目

外部リンク





固有名詞の分類



rubyに関連した本




rubyのページへのリンク

[PR] おすすめ情報

「ruby」の関連用語
rubyのお隣キーワード
モバイル
モバイル版のWeblioは、下記のURLからアクセスしてください。
http://m.weblio.jp/
» モバイルで「ruby」を見る
_ _   


rubyのページの著作権
Weblio 辞書情報提供元は参加元一覧にて確認できます。

  
三省堂三省堂
Copyright (C) 2001-2012 Sanseido Co.,Ltd. All rights reserved.
株式会社 三省堂三省堂 Web Dictionary
印刷関係用語集印刷関係用語集
Copyright (C) 2012 K'sBookshelf All Rights Reserved.
広告転職.com広告転職.com
Copyright(C) 2012 Total Brain co., ltd. All Rights Reserved.
OSS iPediaOSS iPedia
Copyright © Information-technology Promotion Agency, Japan. All rights reserved 2006-2012
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2012 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリRubyの記事を利用しております。
Kato's CollectionsKato's Collections
Copyright(C) 1996-2012 Shinichi KATO All rights reserved.
原色大辞典原色大辞典
Copyright © 1997-2012 colordic.org All Rights Reserved.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのRuby (改訂履歴)、ルビ (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2012 Weblio RSS