## Tcl9.0.3/Tk9.0.3 Documentation > Tk Commands > text

### Tcl/Tk Applications | Tcl Commands | Tk Commands | [incr Tcl] Package Commands | SQLite3 Package Commands | TDBC Package Commands | tdbc::mysql Package Commands | tdbc::odbc Package Commands | tdbc::postgres Package Commands | tdbc::sqlite3 Package Commands | Thread Package Commands | Tcl C API | Tk C API | [incr Tcl] Package C API | TDBC Package C API

  NAME
    text, tk_textCopy, tk_textCut, tk_textPaste — '超文書'校正部品の創生と操作 Create and manipulate 'text' hypertext editing widgets
  SYNOPSIS
  STANDARD OPTIONS
    -background or -bg, background, Background
    -borderwidth or -bd, borderWidth, BorderWidth
    -cursor, cursor, Cursor
    -exportselection, exportSelection, ExportSelection
    -font, font, Font
    -foreground or -fg, foreground, Foreground
    -highlightbackground, highlightBackground, HighlightBackground
    -highlightcolor, highlightColor, HighlightColor
    -highlightthickness, highlightThickness, HighlightThickness
    -insertbackground, insertBackground, Foreground
    -insertborderwidth, insertBorderWidth, BorderWidth
    -insertofftime, insertOffTime, OffTime
    -insertontime, insertOnTime, OnTime
    -insertwidth, insertWidth, InsertWidth
    -padx, padX, Pad
    -pady, padY, Pad
    -relief, relief, Relief
    -selectbackground, selectBackground, Foreground
    -selectborderwidth, selectBorderWidth, BorderWidth
    -selectforeground, selectForeground, Background
    -setgrid, setGrid, SetGrid
    -takefocus, takeFocus, TakeFocus
    -xscrollcommand, xScrollCommand, ScrollCommand
    -yscrollcommand, yScrollCommand, ScrollCommand
  部品固有の指示項目 WIDGET-SPECIFIC OPTIONS
    -autoseparators, autoSeparators, AutoSeparators
    -blockcursor, blockCursor, BlockCursor
    -endline, endLine, EndLine
    -height, height, Height
    -inactiveselectbackground, inactiveSelectBackground, Foreground
    -insertunfocussed, insertUnfocussed, InsertUnfocussed
    -maxundo, maxUndo, MaxUndo
    -spacing1, spacing1, Spacing1
    -spacing2, spacing2, Spacing2
    -spacing3, spacing3, Spacing3
    -startline, startLine, StartLine
    -state, state, State
    -tabs, tabs, Tabs
    -tabstyle, tabStyle, TabStyle
    -undo, undo, Undo
    -width, width, Width
    -wrap, wrap, Wrap
  説明 DESCRIPTION
  INDICES
    line.char
    @x,y
    end
    mark
    tag.first
    tag.last
    pathName
    imageName
    + count ?submodifier? chars
    - count ?submodifier? chars
    + count ?submodifier? indices
    - count ?submodifier? indices
    + count ?submodifier? lines
    - count ?submodifier? lines
    ?submodifier? linestart
    ?submodifier? lineend
    ?submodifier? wordstart
    ?submodifier? wordend
  TAGS
    -background color
    -bgstipple bitmap
    -borderwidth pixels
    -elide boolean
    -fgstipple bitmap
    -font fontName
    -foreground color
    -justify justify
    -lmargin1 pixels
    -lmargin2 pixels
    -lmargincolor color
    -offset pixels
    -overstrike boolean
    -overstrikefg color
    -relief relief
    -rmargin pixels
    -rmargincolor color
    -selectbackground color
    -selectforeground color
    -spacing1 pixels
    -spacing2 pixels
    -spacing3 pixels
    -tabs tabList
    -tabstyle style
    -underline boolean
    -underlinefg color
    -wrap mode
  MARKS
  EMBEDDED WINDOWS
    -align where
    -create script
    -padx pixels
    -pady pixels
    -stretch boolean
    -window pathName
  EMBEDDED IMAGES
    -align where
    -image image
    -name ImageName
    -padx pixels
    -pady pixels
  THE SELECTION
  THE INSERTION CURSOR
  修正旗標 THE MODIFIED FLAG
  THE UNDO MECHANISM
  PEER WIDGETS
  行高さの非同期更新　 ASYNCHRONOUS UPDATE OF LINE HEIGHTS
  部品命令 WIDGET COMMAND
    pathName bbox index
    pathName cget option
    pathName compare index1 op index2
    pathName configure ?option? ?value option value ...?
    pathName count ?options? index1 index2
      -chars
      -displaychars
      -displayindices
      -displaylines
      -indices
      -lines
      -xpixels
      -ypixels
    pathName debug ?boolean?
    pathName delete index1 ?index2 ...?
    pathName dlineinfo index
    pathName dump ?switches? index1 ?index2?
      -all
      -command command
      -image
      -mark
      -tag
      -text
      -window
    pathName edit option ?arg ...?
      pathName edit canredo
      pathName edit canundo
      pathName edit modified ?boolean?
      pathName edit redo
      pathName edit reset
      pathName edit separator
      pathName edit undo
    pathName get ?-displaychars? ?--? index1 ?index2 ...?
    pathName image option ?arg ...?
      pathName image cget index option
      pathName image configure index ?option value ...?
      pathName image create index ?option value ...?
      pathName image names
    pathName index index
    pathName insert index chars ?tagList chars tagList ...?
    pathName mark option ?arg ...?
      pathName mark gravity markName ?direction?
      pathName mark names
      pathName mark next index
      pathName mark previous index
      pathName mark set markName index
      pathName mark unset markName ?markName markName ...?
    pathName peer option args
      pathName peer create newPathName ?options?
      pathName peer names
    pathName pendingsync
    pathName replace index1 index2 chars ?tagList chars tagList ...?
    pathName scan option args
      pathName scan mark x y
      pathName scan dragto x y
    pathName search ?switches? pattern index ?stopIndex?
      -forwards
      -backwards
      -exact
      -regexp
      -nolinestop
      -nocase
      -count varName
      -all
      -overlap
      -strictlimits
      -elide
      --
    pathName see index
    pathName sync ?-command command?
      pathName sync
      pathName sync -command command
    pathName tag option ?arg ...?
      pathName tag add tagName index1 ?index2 index1 index2 ...?
      pathName tag bind tagName ?sequence? ?script?
      pathName tag cget tagName option
      pathName tag configure tagName ?option? ?value? ?option value ...?
      pathName tag delete tagName ?tagName ...?
      pathName tag lower tagName ?belowThis?
      pathName tag names ?index?
      pathName tag nextrange tagName index1 ?index2?
      pathName tag prevrange tagName index1 ?index2?
      pathName tag raise tagName ?aboveThis?
      pathName tag ranges tagName
      pathName tag remove tagName index1 ?index2 index1 index2 ...?
    pathName window option ?arg ...?
      pathName window cget index option
      pathName window configure index ?option value ...?
      pathName window create index ?option value ...?
      pathName window names
    pathName xview option args
      pathName xview
      pathName xview moveto fraction
      pathName xview scroll number what
    pathName yview ?args?
      pathName yview
      pathName yview moveto fraction
      pathName yview scroll number what
      pathName yview ?-pickplace? index
      pathName yview number
  束縛 BINDINGS
  未解決の問題 KNOWN ISSUES
  文字と索引に関する問題 ISSUES CONCERNING CHARS AND INDICES
  効率の問題 PERFORMANCE ISSUES
  KNOWN BUGS
  SEE ALSO
  KEYWORDS

### NAME

text, tk_textCopy, tk_textCut, tk_textPaste — '超文書'校正部品の創生と操作 Create and manipulate 'text' hypertext editing widgets

### SYNOPSIS

text pathName ?options?
tk_textCopy pathName
tk_textCut pathName
tk_textPaste pathName

### STANDARD OPTIONS

-background or -bg, background, Background
-borderwidth or -bd, borderWidth, BorderWidth
-cursor, cursor, Cursor
-exportselection, exportSelection, ExportSelection
-font, font, Font
-foreground or -fg, foreground, Foreground
-highlightbackground, highlightBackground, HighlightBackground
-highlightcolor, highlightColor, HighlightColor
-highlightthickness, highlightThickness, HighlightThickness
-insertbackground, insertBackground, Foreground
-insertborderwidth, insertBorderWidth, BorderWidth
-insertofftime, insertOffTime, OffTime
-insertontime, insertOnTime, OnTime
-insertwidth, insertWidth, InsertWidth
-padx, padX, Pad
-pady, padY, Pad
-relief, relief, Relief
-selectbackground, selectBackground, Foreground
-selectborderwidth, selectBorderWidth, BorderWidth
-selectforeground, selectForeground, Background
-setgrid, setGrid, SetGrid
-takefocus, takeFocus, TakeFocus
-xscrollcommand, xScrollCommand, ScrollCommand
-yscrollcommand, yScrollCommand, ScrollCommand

### 部品固有の指示項目 WIDGET-SPECIFIC OPTIONS

Command-Line Name: -autoseparators
Database Name: autoSeparators
Database Class: AutoSeparators
  取消し棚中に自動的に分離帯が挿入されるか否かを伝える論理値を指定する｡-undo 指示項目が真値の時のみ意味がある｡ 　　 Specifies a boolean that says whether separators are automatically inserted in the undo stack. Only meaningful when the -undo option is true.

Command-Line Name: -blockcursor
Database Name: blockCursor
Database Class: BlockCursor
  明滅する挿入遊走子は文字寸法大の矩形塊として描かれるべきか否かを伝える論理値を指定する｡もし偽値 更なる論議は下のTHE INSERTION CURSOR節参照｡ Specifies a boolean that says whether the blinking insertion cursor should be drawn as a character-sized rectangular block. If false (the default) a thin vertical line is used for the insertion cursor. For further discussion refer to section THE INSERTION CURSOR below.

Command-Line Name: -endline
Database Name: endLine
Database Class: EndLine
  基礎になる文書収蔵データの行を表現する整数行番号を指定する､それは部品内の内容の最後の行の次の行でもある｡これにより､文書部品は､巨大な文書断片の部位のみを参照することができる｡整数の代りに空文字列をこの構成設定指示項目に与えることができ､それは部品に対して文書収蔵データの最後の行を末尾として構成設定する｡ 　　 Specifies an integer line index representing the line of the underlying textual data store that should be just after the last line contained in the widget. This allows a text widget to reflect only a portion of a larger piece of text. Instead of an integer, the empty string can be provided to this configuration option, which will configure the widget to end at the very last line in the textual data store.

Command-Line Name: -height
Database Name: height
Database Class: Height
  窓について望ましい高さを､-font 指示項目によって与えられる文字形状を単位として､指定する｡最低一以上でなければならない｡ 　　 Specifies the desired height for the window, in units of characters in the font given by the -font option. Must be at least one.

Command-Line Name: -inactiveselectbackground
Database Name: inactiveSelectBackground
Database Class: Foreground
  窓が入力の注目を有していない時､選択( sel 貼り札)の為に使用する色を指定する｡もし空 {} であると窓が注目を有さない時は選択は示されない｡ 　　 Specifies the colour to use for the selection (the sel tag) when the window does not have the input focus. If empty, {}, then no selection is shown when the window does not have the focus.

Command-Line Name: -insertunfocussed
Database Name: insertUnfocussed
Database Class: InsertUnfocussed
  部品が注目を有していない時､挿入遊走子を如何に表示するかを指定する｡次の内のどれかでなければならない､ none (省略時設定)は遊走子を表示しない､ hollow は空洞の箱､ solid は詰まった箱を意味する｡註意すべきは､ -blockcursor 指示項目が偽値の時､ hollow と solid は外観が非常によく似ている｡ 　　 Specifies how to display the insertion cursor when the widget does not have the focus. Must be none (the default) which means to not display the cursor, hollow which means to display a hollow box, or solid which means to display a solid box. Note that hollow and solid will appear very similar when the -blockcursor option is false.

Command-Line Name: -maxundo
Database Name: maxUndo
Database Class: MaxUndo
  取消し棚上の複合取消し動作の数の最大値を設定する｡零と負数は無制限の取消し棚を強制する｡ 　　 Specifies the maximum number of compound undo actions on the undo stack. A zero or a negative value imply an unlimited undo stack.

Command-Line Name: -spacing1
Database Name: spacing1
Database Class: Spacing1
  部品中の各文書行の上に追加的な余白を要求する､どの様な標準的画面距離も使用できる｡もし､折畳みがあるとこの指示項目は表示装置上の第一行にのみ適用される｡この指示項目は貼り札指示項目の -spacing1 を使って上書きされ得る｡ 　　 Requests additional space above each text line in the widget, using any of the standard forms for screen distances. If a line wraps, this option only applies to the first line on the display. This option may be overridden with -spacing1 options in tags.

Command-Line Name: -spacing2
Database Name: spacing2
Database Class: Spacing2
  折畳まれた行(従って画面上の一行を越える行を覆っている)について､この指示項目は文書の一つの行の内容を表示している複数に亙る行間に供給する追加的な余白を指定する｡値はどの様な標準的画面距離も使用できる｡この指示項目は貼り札指示項目の -spacing2 を使って上書きされ得る｡ 　　 For lines that wrap (so that they cover more than one line on the display) this option specifies additional space to provide between the display lines that represent a single line of text. The value may have any of the standard forms for screen distances. This option may be overridden with -spacing2 options in tags.

Command-Line Name: -spacing3
Database Name: spacing3
Database Class: Spacing3
  画面距離に関するいずれかの標準的形式を使用して､部品内のそれぞれの文書行の下に追加的な余白を要求する｡もし行が折畳まれると､この指示項目は展示の最後の行にのみ適用される｡この指示項目は貼り札指示項目の -spacing3 を使って上書きされ得る｡ 　　 Requests additional space below each text line in the widget, using any of the standard forms for screen distances. If a line wraps, this option only applies to the last line on the display. This option may be overridden with -spacing3 options in tags.

Command-Line Name: -startline
Database Name: startLine
Database Class: StartLine
  部品に含まれている基礎の文書データ収蔵の最初の行を表す行番号を指定する｡これにより､文書部品はより大きな文書の断片の部分のみを参照することができる｡整数の代りに空文字列をこの構成設定指示項目に与えることができ､それは部品に対し､開始を文書データ収蔵の一番最初の行に構成設定させることになる｡ 　　 Specifies an integer line index representing the first line of the underlying textual data store that should be contained in the widget. This allows a text widget to reflect only a portion of a larger piece of text. Instead of an integer, the empty string can be provided to this configuration option, which will configure the widget to start at the very first line in the textual data store.

Command-Line Name: -state
Database Name: state
Database Class: State
  文書に二つの状態の内の一つを指定する: normal か disabled ｡もし文書が不能(disabled)であると､文字の挿入や削除はできず､たとえその部品に注目があっても挿入遊走子は表示されない｡ 　　 Specifies one of two states for the text: normal or disabled. If the text is disabled then characters may not be inserted or deleted and no insertion cursor will be displayed, even if the input focus is in the widget.

Command-Line Name: -tabs
Database Name: tabs
Database Class: Tabs
  窓内のタブ位置を設定する｡指示項目の値はタブ位置を与える画面距離のリストを構成する､それぞれは部品の左端からの相対距離(縁､余白等は含まない)である｡それぞれの位置には追加的に用語の left か right か center か numeric の内の一つが次のリスト要素との間に続くかもしれない､それはタブ位置に文書を相対的に如何に合せるかを指定する｡left が省略時設定であり; タブ文字に続く文書の左端をタブ位置に配置させる｡right の意味は､タブ文字に続く文書の右端をタブ位置に配置する､又､ center の意味は､文書がタブ位置の中央に配置される｡numeric の意味は､文書内の十進数の位置がタブ位置に配置される｡もし十進数の余地がないと数の最小桁目の数字がタブ位置の左に配置される; 文書中に数がないと文書はタブ位置に右揃えされる｡譬えば “-tabs {2c left 4c 6c center}” では､２センチ間隔に三つのタブ位置が設定され; 最初の二つは左揃え､三番目は中央揃えに使われる｡ 　　 Specifies a set of tab stops for the window. The option's value consists of a list of screen distances giving the positions of the tab stops, each of which is a distance relative to the left edge of the widget (excluding borders, padding, etc). Each position may optionally be followed in the next list element by one of the keywords left, right, center, or numeric, which specifies how to justify text relative to the tab stop. Left is the default; it causes the text following the tab character to be positioned with its left edge at the tab position. Right means that the right edge of the text following the tab character is positioned at the tab position, and center means that the text is centered at the tab position. Numeric means that the decimal point in the text is positioned at the tab position; if there is no decimal point then the least significant digit of the number is positioned just to the left of the tab position; if there is no number in the text then the text is right-justified at the tab position. For example, “-tabs {2c left 4c 6c center}” creates three tab stops at two-centimeter intervals; the first two use left justification and the third uses center justification.

  もしタブ位置のリストが文書行内の全部のタブを賄うに足る要素がないなら､ Tk はリストの最後のタブ位置から間隔と並び方を使って新しいタブ位置を推測する｡タブ距離は必ず正値であり､次のタブ位置に向かって必ず増加しなければならない(そうでなければ不都合が生じる)｡-tabs 指示項目の値は貼り札の -tabs 指示項目で上書きされ得る｡ 　　 If the list of tab stops does not have enough elements to cover all of the tabs in a text line, then Tk extrapolates new tab stops using the spacing and alignment from the last tab stop in the list. Tab distances must be strictly positive, and must always increase from one tab stop to the next (if not, an error is thrown). The value of the -tabs option may be overridden by -tabs options in tags.

  -tabs 指示項目が全く指定されないか､又は､空リストとして指定されると､ Tk は､八文字(平均寸法)づつ配置される省略時設定のタブを使う｡異なる標準配置を達成するには､譬えば四文字づつでは､単に部品を次の如く構成設定する “-tabs "[expr {4 * [font measure $font 0]}] left" -tabstyle wordprocessor” の様に｡ 　　 If no -tabs option is specified, or if it is specified as an empty list, then Tk uses default tabs spaced every eight (average size) characters. To achieve a different standard spacing, for example every 4 characters, simply configure the widget with “-tabs "[expr {4 * [font measure $font 0]}] left" -tabstyle wordprocessor”.

Command-Line Name: -tabstyle
Database Name: tabStyle
Database Class: TabStyle
  行の上のタブ位置と､その行の文書内のタブとの関係の解釈を指定する｡値は tabular (省略時設定) か wordprocessor のどちらかでなければならない｡註意すべきはタブは文書内で遭遇する度に解釈される｡もしタブの方式が tabular であると､行内の文書の n 番目のタブ文字が､その行に定義されている n 番目のタブ位置に結合する｡もしタブ文字の x 座標が n 番目のタブ位置の右に来ると､一個の空白の間隙が応急的に挿入される｡もし､タブ方式が wordprocessor であると､割付けされているどのタブ文字も､その行上に既に割付けされている先行する文字の右手に最初の(且つ､定義される)タブ文字を使うことになる｡tabstyle 指示項目の値は貼り札の -tabstyle 指示項目により上書きされ得る｡ 　　 Specifies how to interpret the relationship between tab stops on a line and tabs in the text of that line. The value must be tabular (the default) or wordprocessor. Note that tabs are interpreted as they are encountered in the text. If the tab style is tabular then the n'th tab character in the line's text will be associated with the n'th tab stop defined for that line. If the tab character's x coordinate falls to the right of the n'th tab stop, then a gap of a single space will be inserted as a fallback. If the tab style is wordprocessor then any tab character being laid out will use (and be defined by) the first tab stop to the right of the preceding characters already laid out on that line. The value of the -tabstyle option may be overridden by -tabstyle options in tags.

Command-Line Name: -undo
Database Name: undo
Database Class: Undo
  実行の取消しの仕組みが活動中か否かを表す論理値を指定する｡ 　　 Specifies a boolean that says whether the undo mechanism is active or not.

Command-Line Name: -width
Database Name: width
Database Class: Width
  窓について望ましい幅を指定する､-font 指示項目によって与えられる文字形状の文字を単位とする｡もし､文字形状が単一の幅でない場合､文字 “0” の巾が文字単位から画面単位への翻訳に使用される｡ 　　 Specifies the desired width for the window in units of characters in the font given by the -font option. If the font does not have a uniform width then the width of the character “0” is used in translating from character units to screen units.

Command-Line Name: -wrap
Database Name: wrap
Database Class: Wrap
  文書の窓に一行で表示するには長すぎる文書の行を如何に処理するかを指定する｡値は､ none か char か word でなけばならない｡折畳み様式 none は文書のそれぞれの行は画面上で正確に一行に現す事を意味する; 画面に嵌らない余分の文字は表示されない｡他の様式では文書のそれぞれの行は､必要に応じ､全ての文字を可視に保つ様に幾つかの画面上の行に畳まれる｡char 様式では画面の行の折畳みはどの文字の後ででも生じる; word 様式では折畳みは語の境界でのみ生じる｡ 　　 Specifies how to handle lines in the text that are too long to be displayed in a single line of the text's window. The value must be none or char or word. A wrap mode of none means that each line of text appears as exactly one line on the screen; extra characters that do not fit on the screen are not displayed. In the other modes each line of text will be broken up into several screen lines if necessary to keep all the characters visible. In char mode a screen line break may occur after any character; in word mode a line break will only be made at word boundaries.

### 説明 DESCRIPTION

text 命令は(与えられた pathName 引数によって)新しい窓を生成し､それを文書部品にする｡上に述べた追加的な指示項目は命令行或は､その省略時設定の背景色や立体感の様な文書の外観を構成設定する追加的な基礎データの中で指定されても好い｡text 命令は新しい窓の経路名を返す｡ 　　 The text command creates a new window (given by the pathName argument) and makes it into a text widget. Additional options, described above, may be specified on the command line or in the option database to configure aspects of the text such as its default background color and relief. The text command returns the path name of the new window.

文書部品は一つ或はそれ以上の行の文書を表示し､その文書の編集を許容する｡文書部品は､貼り札､浮標､埋込み窓､埋込み影像と呼ばれる､四種の異なる注解を運用する｡貼り札は異なる部位の文書を異なる文字形状や色で表示することを許容する｡更に､ Tcl 命令は文書の特定の範囲内での打鍵やマウス釦押下のような特定の操作で記述譜が起動する様に貼り札と結合できる｡更なる詳細は下の TAGS を参照されたい｡ 　　 A text widget displays one or more lines of text and allows that text to be edited. Text widgets support four different kinds of annotations on the text, called tags, marks, embedded windows or embedded images. Tags allow different portions of the text to be displayed with different fonts and colors. In addition, Tcl commands can be associated with tags so that scripts are invoked when particular actions such as keystrokes and mouse button presses occur in particular ranges of the text. See TAGS below for more details.

注解の第二は文書内の “浮標” と呼ばれる浮標で構成される｡浮標は編集に伴う文書内の関連した位置の航跡を保持する為に使用される｡更なる詳細は下の MARKS を参照されたい｡[訳註：予備知識として､選択 selection (= sel) は 貼り札 tag の類､挿入 insert と 現地点 current は浮標 mark の類] 　　 The second form of annotation consists of floating markers in the text called “marks”. Marks are used to keep track of various interesting positions in the text as it is edited. See MARKS below for more details.

注解の第三は文書部品内に任意の窓の埋め込みを許容する｡更なる詳細は下の EMBEDDED WINDOWS を参照されたい｡ 　　 The third form of annotation allows arbitrary windows to be embedded in a text widget. See EMBEDDED WINDOWS below for more details.

注解の第四はTk に文書部品内への影像の埋め込みを許容する｡更なる詳細は下の EMBEDDED IMAGES を参照されたい｡ 　　 The fourth form of annotation allows Tk images to be embedded in a text widget. See EMBEDDED IMAGES below for more details.

文書部品は組込みの 取消/再実行 の仕組みを有する｡更なる詳細は下の THE UNDO MECHANISM を参照されたい｡ 　　 The text widget also has a built-in undo/redo mechanism. See THE UNDO MECHANISM below for more details.

文書部品は眷属部品の作成を許容する｡これらは同じ基礎データ(文書､浮標､貼り札､影像､等)を共有している別の文書部品である｡更なる詳細は下の PEER WIDGETS を参照されたい｡ 　　 The text widget allows for the creation of peer widgets. These are other text widgets which share the same underlying data (text, marks, tags, images, etc). See PEER WIDGETS below for more details.

### INDICES

文書の為の多くの部品命令は一つ或はそれ以上の索引を引数としてとる｡索引は､文字を挿入する位置､削除する文字の範囲の端位置､のような文書内部の特定の位置を指し示すために使用される文字列である｡索引は次の構文を有する 　　 Many of the widget commands for texts take one or more indices as arguments. An index is a string used to indicate a particular place within a text, such as a place to insert characters or one endpoint of a range of characters to delete. Indices have the syntax

    base modifier modifier modifier ...

ここで base は開始位置を与え､ modifier は開始位置からの索引を調整する(譬えば､一文字前進とか後退とか)｡全ての索引は base を含まねばならないが､ modifier は省略できる｡大多数の修飾子は(下に説明するように)追加の副修飾子を許容する｡適正な副修飾子は any と display である｡副修飾子が短縮されていると､それには空白が添えられなければならない､しかし､それ以外は､副修飾子と次の修飾子の間に空白は必要ない｡典型的には display 副修飾子は次の修飾子に論理単位でなく可視の又は非掩蔽性の単位を参照させる､が､これは下の関連した場合に説明される｡最後に､ count が修飾子の一部として使われる処では､正であっても負であってもよい､そこで､ “base - -3 lines” は完全に適正な記述である( “base +3lines” と等価である)｡ 　　 Where base gives a starting point and the modifiers adjust the index from the starting point (e.g. move forward or backward one character). Every index must contain a base, but the modifiers are optional. Most modifiers (as documented below) allow an optional submodifier. Valid submodifiers are any and display. If the submodifier is abbreviated, then it must be followed by whitespace, but otherwise there need be no space between the submodifier and the following modifier. Typically the display submodifier adjusts the meaning of the following modifier to make it refer to visual or non-elided units rather than logical units, but this is explained for each relevant case below. Lastly, where count is used as part of a modifier, it can be positive or negative, so “base - -3 lines” is perfectly valid (and equivalent to “base +3lines”).

索引の base は次のどれかの形式でなければならない: 　　 The base for an index must have one of the following forms:

line.char
  line 行目の char 番目の文字を指す｡行は番号を 1 から付け､この番号形態を使う他の UNIX 譜と整合させる｡行内では､文字は 番号を 0 から付ける｡もし char が end なら､行末尾の改行文字を参照する｡ 　　 Indicates char'th character on line line. Lines are numbered from 1 for consistency with other UNIX programs that use this numbering scheme. Within a line, characters are numbered from 0. If char is end then it refers to the newline character that ends the line.

@x,y
  文書窓内の x 座標と y 座標が x と y である画素を覆う文字を指し示す｡ 　　 Indicates the character that covers the pixel whose x and y coordinates within the text's window are x and y.

end
  文書の末尾を指し示す(最後の改行文字の直後の文字)｡ 　　 Indicates the end of the text (the character just after the last newline).

mark
  名前が mark の浮標のすぐ後の文字を指し示す(詳細はMARKS 参照)｡[訳註:後述の｢浮標 MARKS｣や｢挿入遊走子 THE INSERTION CURSOR｣の項目に記述されている特別の浮標" insert "と"current"を含む｡] Indicates the character just after the mark whose name is mark (see MARKS for details).

tag.first
  その文書内の tag が貼られている最初の文字を指し示す｡この形式は現在 tag の名前の貼り札がないと不都合を生成する｡ 　　 Indicates the first character in the text that has been tagged with tag. This form generates an error if no characters are currently tagged with tag.

tag.last
  その文書内の tag が貼られている最後の文字の次の文字を指し示す｡この形式は現在 tag の名前の貼り札がないと不都合を生成する｡ 　　 Indicates the character just after the last one in the text that has been tagged with tag. This form generates an error if no characters are currently tagged with tag.

pathName
  名前が pathName の埋込み窓の位置を指し示す｡この形式は与えられた名前の埋込み窓がないと不都合を生成する｡ 　　 Indicates the position of the embedded window whose name is pathName. This form generates an error if there is no embedded window by the given name.

imageName
  名前が imageName の埋込み影像の位置を指し示す｡この形式は与えられた名前の埋込み影像がないと不都合を生成する｡ 　　 Indicates the position of the embedded image whose name is imageName. This form generates an error if there is no embedded image by the given name.

もし､譬えば mark と imageName 双方が同じ値を持つ等､ base が上記の内の複数の形式に合致すると上記リストの若い方の形式が優先される｡もし修飾子が基準の索引に続くと､それぞれは下に列挙した形式の一つを有さねばならない｡chars や wordend の様な鍵語は短縮が曖昧にならない限り短縮可能である｡ 　　 If the base could match more than one of the above forms, such as a mark and imageName both having the same value, then the form earlier in the above list takes precedence. If modifiers follow the base index, each one of them must have one of the forms listed below. Keywords such as chars and wordend may be abbreviated as long as the abbreviation is unambiguous.

+ count ?submodifier? chars
  索引を末尾の方向に count 文字調整する､必要なら文書内の後の行に移動する｡もし､文書内の現在の索引の後の文字が count より少ないと､索引に文書の最後の索引を設定する｡count の前後の空白は任意である｡もし､ display 副修飾子が与えられると､掩蔽された文字が勘定されずに飛越される｡もし any が与えられると全ての文字が勘定される｡歴史的経緯から､もしどの修飾子も与えられないと､ count は実際のところ索引の位置に取って代わる(詳細は INDICES 参照のこと)｡この振舞いは将来の改版で変わるかもしれない､そこで､索引の個数が必要な時は､可能である限り indices を使うことを薦める｡ 　　 Adjust the index forward by count characters, moving to later lines in the text if necessary. If there are fewer than count characters in the text after the current index, then set the index to the last index in the text. Spaces on either side of count are optional. If the display submodifier is given, elided characters are skipped over without being counted. If any is given, then all characters are counted. For historical reasons, if neither modifier is given then the count actually takes place in units of index positions (see INDICES for details). This behaviour may be changed in a future major release, so if you need an index count, you are encouraged to use indices instead wherever possible.

- count ?submodifier? chars
  索引を文頭向きに count 文字調整する､必要なら文書内の前の行に移動する｡もし､文書内の現在の索引の前の文字が count より少ないと､索引に文書の最初の索引(1.0)を設定する｡count の前後の空白は任意である｡もし､ display 副修飾子が与えられると､掩蔽された文字が勘定されずに飛越される｡もし any が与えられると全ての文字が勘定される｡歴史的経緯から､もしどの修飾子も与えられないと､ count は実際のところ索引の位置に取って代わる(詳細は INDICES 参照のこと)｡この振舞いは将来の改版で変わるかもしれない､そこで､索引の個数が必要な時は､可能である限り indices を使うことを薦める｡ 　　 Adjust the index backward by count characters, moving to earlier lines in the text if necessary. If there are fewer than count characters in the text before the current index, then set the index to the first index in the text (1.0). Spaces on either side of count are optional. If the display submodifier is given, elided characters are skipped over without being counted. If any is given, then all characters are counted. For historical reasons, if neither modifier is given then the count actually takes place in units of index positions (see INDICES for details). This behavior may be changed in a future major release, so if you need an index count, you are encouraged to use indices instead wherever possible.

+ count ?submodifier? indices
  索引を末尾の方向に count 文字調整する､必要なら文書内の後の行に移動する｡もし､文書内の現在の索引の後の文字が count より少ないと､索引に文書の最後の索引を設定する｡count の前後の空白は任意である｡註意すべきは索引の位置は､一つの文字か､一つの埋め込み影像か､埋め込み窓である｡もし､ display 副修飾子が与えられると､掩蔽された文字が勘定されずに飛越される｡もし any が与えられると全ての文字が勘定される;これは修飾子が与えられない時の省略時設定である｡ 　　 Adjust the index forward by count index positions, moving to later lines in the text if necessary. If there are fewer than count index positions in the text after the current index, then set the index to the last index position in the text. Spaces on either side of count are optional. Note that an index position is either a single character or a single embedded image or embedded window. If the display submodifier is given, elided indices are skipped over without being counted. If any is given, then all indices are counted; this is also the default behaviour if no modifier is given.

- count ?submodifier? indices
  索引を文頭向きに count 文字調整する､必要なら文書内の前の行に移動する｡もし､文書内の現在の索引の前の文字が count より少ないと､索引に文書の最初の索引(1.0)を設定する｡count の前後の空白は任意である｡もし､ display 副修飾子が与えられると､掩蔽された文字が勘定されずに飛越される｡もし any が与えられると全ての文字が勘定される｡ 　　 Adjust the index backward by count index positions, moving to earlier lines in the text if necessary. If there are fewer than count index positions in the text before the current index, then set the index to the first index position (1.0) in the text. Spaces on either side of count are optional. If the display submodifier is given, elided indices are skipped over without being counted. If any is given, then all indices are counted; this is also the default behaviour if no modifier is given.

+ count ?submodifier? lines
  索引を末尾の方向に count 行調整する､行内の同じ文字番号にとどめる｡もし､文書内の現在の索引の後の行数が count より少ないと､索引に文書の最後の行の同じ文字番号位置を設定する｡そこで行が指し示した文字位置の文字を含むに十分な長さがない場合､文字の位置をその行の最後の文字(改行文字)を参照するように調整する｡count の前後の空白は任意である｡もし､ display 副修飾子が与えられると､それぞれの可視的に表示されている行が個別に勘定される｡一方もし any (又は修飾子なし)が与えられるとそれぞれの論理的な行(可視的に幾ら折り畳まれていても)が一度勘定される｡もし関連している行が折り畳まれていないとこれら二つの方法の勘定は等価である｡ 　　 Adjust the index forward by count lines, retaining the same character position within the line. If there are fewer than count lines after the line containing the current index, then set the index to refer to the same character position on the last line of the text. Then, if the line is not long enough to contain a character at the indicated character position, adjust the character position to refer to the last character of the line (the newline). Spaces on either side of count are optional. If the display submodifier is given, then each visual display line is counted separately. Otherwise, if any (or no modifier) is given, then each logical line (no matter how many times it is visually wrapped) counts just once. If the relevant lines are not wrapped, then these two methods of counting are equivalent.

- count ?submodifier? lines
  索引を末尾の方向に count 行進め､その行の同じ文字番号に留める｡もし､文書内の現在の索引の後の行数が count より少ないと､索引に文書の最後の行の同じ文字番号位置を設定する｡そこで行が指し示した文字位置の文字を含むに十分な長さがない場合､文字の位置をその行の最後の文字(改行文字)を参照するように調整する｡count の前後の空白は任意である｡もし､ display 副修飾子が与えられると､それぞれの可視的に表示されている行が個別に勘定される｡一方もし any (又は修飾子なし)が与えられるとそれぞれの論理的な行(可視的に幾ら折り畳まれていても)が一度勘定される｡もし関連している行が折り畳まれていないとこれら二つの方法の勘定は等価である｡ 　　 Adjust the index backward by count logical lines, retaining the same character position within the line. If there are fewer than count lines before the line containing the current index, then set the index to refer to the same character position on the first line of the text. Then, if the line is not long enough to contain a character at the indicated character position, adjust the character position to refer to the last character of the line (the newline). Spaces on either side of count are optional. If the display submodifier is given, then each visual display line is counted separately. Otherwise, if any (or no modifier) is given, then each logical line (no matter how many times it is visually wrapped) counts just once. If the relevant lines are not wrapped, then these two methods of counting are equivalent.

?submodifier? linestart
  索引をその行の初めの位置を参照するよう調整する｡もし display 副修飾子が与えられると表示されている行の最初の位置になる､それ以外は論理的な行頭になる｡ 　　 Adjust the index to refer to the first index on the line. If the display submodifier is given, this is the first index on the display line, otherwise on the logical line.

?submodifier? lineend
  索引をその行の末尾の位置(改行文字)を参照するよう調整する｡もし display 副修飾子が与えられると表示されている行の末尾の位置になる､それ以外は論理的な行の末尾になる｡ 　　 Adjust the index to refer to the last index on the line (the newline). If the display submodifier is given, this is the last index on the display line, otherwise on the logical line.

?submodifier? wordstart
  索引を現在の索引を含んでいる語の最初の文字を参照するよう調整する｡語は幾つかの数の隣接した文字､数字､下線､それ以外の文字から構成される｡もし display 副修飾子が与えられると非掩蔽文字のみ調査し､それ以外では全ての文字(掩蔽されてもされなくても)を調査する｡ 　　 Adjust the index to refer to the first character of the word containing the current index. A word consists of any number of adjacent characters that are letters, digits, or underscores, or a single character that is not one of these. If the display submodifier is given, this only examines non-elided characters, otherwise all characters (elided or not) are examined.

?submodifier? wordend
  索引を現在の索引を含んでいる語の末尾の文字を参照するよう調整する｡語は幾つかの数の隣接した文字､数字､下線､それ以外の文字から構成される｡もし display 副修飾子が与えられると非掩蔽文字のみ調査し､それ以外では全ての文字(掩蔽されてもされなくても)を調査する｡ 　　 Adjust the index to refer to the character just after the last one of the word containing the current index. If the current index refers to the last character of the text then it is not modified. If the display submodifier is given, this only examines non-elided characters, otherwise all characters (elided or not) are examined.

二つ以上の修飾子が存在すると左から右の順で適用される｡譬えば､ “end - 1 chars” と言う索引は文書の末尾の手前の文字を参照し､又 “insert wordstart - 1 c” は挿入遊走子を含む語の先頭の直前を参照する｡修飾子は一つづつ左から右に適用される､各段階の後毎に結果の索引が文書部品内の適正な索引であることを強制される｡そこで､譬えば索引 “1.0 -1c +1c” は索引 “2.0” を参照する｡(訳註 ? 1.1ではないのか?) 　　　 If more than one modifier is present then they are applied in left-to-right order. For example, the index “end - 1 chars” refers to the next-to-last character in the text and “insert wordstart - 1 c” refers to the character just before the first one in the word containing the insertion cursor. Modifiers are applied one by one in this left to right order, and after each step the resulting index is constrained to be a valid index in the text widget. So, for example, the index “1.0 -1c +1c” refers to the index “2.0”.

修飾子が､表示行か､表示文字か､表示索引か､によって結果的に索引が変更され､そして基準が掩蔽された貼り札内の索引を参照している処では､基準の索引は最初に引続く非掩蔽索引と等価と看做される｡ 　　 Where modifiers result in index changes by display lines, display chars or display indices, and the base refers to an index inside an elided tag, that base index is considered to be equivalent to the first following non-elided index.

### TAGS

文書部品の第一の形式の注解は貼り札である｡貼り札は文書的文字列で文書内のどれかの文字の列に結合している｡貼り札は任意の文字を含んでもよいが､ “ ” (空白), +, - は避けるほうが望ましく: 理由はこれらの文字は索引の中で特別な意味を有するので､これを含む貼り札は索引には使用できないので｡文書内の文字に幾つの個数の貼り札があっても構わない｡それぞれの貼り札は､一つの文字でも､文字の範囲でも幾つかの範囲の文字でも参照できる｡個々の文字は幾つの貼り札でも結合することができる｡ 　　 The first form of annotation in text widgets is a tag. A tag is a textual string that is associated with some of the characters in a text. Tags may contain arbitrary characters, but it is probably best to avoid using the characters “ ” (space), +, or -: these characters have special meaning in indices, so tags containing them cannot be used as indices. There may be any number of tags associated with characters in a text. Each tag may refer to a single character, a range of characters, or several ranges of characters. An individual character may have any number of tags associated with it.

貼り札の間に優先順位が定義されており､この順序は下に述べる貼り札に関わる幾つかの函数の実装に使用されている｡貼り札が(文字に結合する方法で､又は､表示指示項目の設定で､又は､その束縛命令によって)定義される時､既存のどの貼り札よりも高い優先順位を与えられる｡貼り札の優先順位は “pathName tag raise” と “pathName tag lower” 部品命令を使って再定義できる｡ 　　 A priority order is defined among tags, and this order is used in implementing some of the tag-related functions described below. When a tag is defined (by associating it with characters or setting its display options or binding commands to it), it is given a priority higher than any existing tag. The priority order of tags may be redefined using the “pathName tag raise” and “pathName tag lower” widget commands.

貼り札は文書部品内で三つの目的を担当する｡第一に､画面上に表示される方法の情報を制御する｡省略時設定では､文字は､文書部品に対する -background と -font と -foreground によって決定される様に表示される｡しかし､表示指示項目は “pathName tag configure” 部品命令によって個別の貼り札と結合しているかもしれない｡文字にもし札が貼られていると､その貼り札に結合した表示指示項目が省略時設定表示方式を上書きする｡次の指示項目が現在貼り札に運用されている: 　　 Tags serve three purposes in text widgets. First, they control the way information is displayed on the screen. By default, characters are displayed as determined by the -background, -font, and -foreground options for the text widget. However, display options may be associated with individual tags using the “pathName tag configure” widget command. If a character has been tagged, then the display options associated with the tag override the default display style. The following options are currently supported for tags:

-background color
  color は貼り札に結合している文字に使う背景色を指定する｡それは Tk_GetColor によって受入れられるどの形式を有してもよい｡ Color specifies the background color to use for characters associated with the tag. It may have any of the forms accepted by Tk_GetColor.

-bgstipple bitmap
  bitmap は背景としての点描に使用する点地図を指定する｡それは Tk_GetBitmap によって受入れられるどの形式を有してもよい｡もし bitmap が指定されない､又は空文字列として指定されると､塗潰しが背景に使用される｡ Bitmap specifies a bitmap that is used as a stipple pattern for the background. It may have any of the forms accepted by Tk_GetBitmap. If bitmap has not been specified, or if it is specified as an empty string, then a solid fill will be used for the background.

-borderwidth pixels
  pixels は貼り札の周囲に描く縁の巾を､ Tk_GetPixels に受入れられる書式で指定する｡この指定は望ましい縁を提供する為に､ -relief 指示と共に用いるべきである｡ Pixels specifies the width of a border to draw around the tag using any of the forms accepted by Tk_GetPixels. This option should be used in conjunction with the -relief option to provide the desired border.

-elide boolean
  elide はデータが掩蔽されるか否かを指定する｡掩蔽したデータ(文字､影像､埋め込み窓､等)は表示されないし､画面上に領域を取らないがそれ以外は通常のデータとして振舞う｡ Elide specifies whether the data should be elided. Elided data (characters, images, embedded windows, etc.) is not displayed and takes no space on screen, but further on behaves just as normal data.

-fgstipple bitmap
  bitmap は文字や下線のような他の前景情報の点描に使用する点地図を指定する｡それは Tk_GetBitmap によって受入れられるどの形式を有してもよい｡もし bitmap が指定されない､又は空文字列として指定されると､詰った占有域が背景に使用される｡ Bitmap specifies a bitmap that is used as a stipple pattern when drawing text and other foreground information such as underlines. It may have any of the forms accepted by Tk_GetBitmap. If bitmap has not been specified, or if it is specified as an empty string, then a solid fill will be used.

-font fontName
  fontName は文字を描くのに使用する文字形状を指定する｡それは Tk_GetFont によって受入れられるどの形式を有してもよい｡ FontName is the name of a font to use for drawing characters. It may have any of the forms accepted by Tk_GetFont.

-foreground color
  color は文字や下線のような他の前景情報を描くのに使う前景色を指定する｡それは Tk_GetColor によって受入れられるどの形式を有してもよい｡ Color specifies the color to use when drawing text and other foreground information such as underlines. It may have any of the forms accepted by Tk_GetColor.

-justify justify
  もし表示行の最初の非掩蔽文字がこの指示項目を指定した貼り札を有する場合､ justify は行を如何に整列させるかを指定する｡それは left か right か center の内の一つでなければならない｡もし行が折り畳まれていると､それぞれの画面上の行に対する整列は画面上の最初の行の非掩蔽文字によって定められる｡ 　　 If the first non-elided character of a display line has a tag for which this option has been specified, then justify determines how to justify the line. It must be one of left, right, or center. If a line wraps, then the justification for each line on the display is determined by the first non-elided character of that display line.

-lmargin1 pixels
  もし文書行の最初の非掩蔽文字がこの指示項目を指定した貼り札を有する場合､ pixels は行が､どれだけ窓の左端から頭下げすべきかを指定する｡pixels は画面距離としてのどの標準的な形式を有してもよい｡もし文書の行が折り畳まれると､この指示項目は表示上の最初の行のみに適用される; -lmargin2 がそれに続く行の頭下げを制御する｡ 　　 If the first non-elided character of a text line has a tag for which this option has been specified, then pixels specifies how much the line should be indented from the left edge of the window. Pixels may have any of the standard forms for screen distances. If a line of text wraps, this option only applies to the first line on the display; the -lmargin2 option controls the indentation for subsequent lines.

-lmargin2 pixels
  もし文書行の最初の非掩蔽文字が指示項目を指定した貼り札を有し､しかも表示行がその文書の行の最初ではなかったら(即ち文書の行が折り畳まれた)､ pixels は行がどれだけ窓の左端から頭下げすべきかを指定する｡pixels は画面距離としてのどの標準的な形式を有してもよい｡もし文書の行が折り畳まれると､この指示項目は折り畳みが可能である時にのみ使用され､文書行の第二行とその後の行にのみに適用される｡ 　　 If the first non-elided character of a display line has a tag for which this option has been specified, and if the display line is not the first for its text line (i.e., the text line has wrapped), then pixels specifies how much the line should be indented from the left edge of the window. Pixels may have any of the standard forms for screen distances. This option is only used when wrapping is enabled, and it only applies to the second and later display lines for a text line.

-lmargincolor color
  color は､-lmargin1 か -lmargin2 によって段下げされた為に文字を含まない領域内に使用する為の背景色を指定する｡それは Tk_GetColor によって受入れられるどのような形式を有していても好い｡ color が指定されないか､空文字列が指定されると -background 貼り紙指定によって指定された色が使われる(又は､これも指定されないと､-background 部品指定による)｡ Color specifies the background color to use in regions that do not contain characters because they are indented by -lmargin1 or -lmargin2. It may have any of the forms accepted by Tk_GetColor. If color has not been specified, or if it is specified as an empty string, then the color used is specified by the -background tag option (or, if this is also unspecified, by the -background widget option).

-offset pixels
  pixels は文書の基準線が垂直に全体の基準線から偏寄する量を､画素単位で指定する｡譬えば､正の偏寄は肩添字に､負の偏寄は下添字に使用できる｡ pixels は画面距離としてのどの標準的な形式を有してもよい｡ Pixels specifies an amount by which the text's baseline should be offset vertically from the baseline of the overall line, in pixels. For example, a positive offset can be used for superscripts and a negative offset can be used for subscripts. Pixels may have any of the standard forms for screen distances.

-overstrike boolean
  文字の中央に水平に罫線を描くか否かを指定する｡ boolean は Tcl_GetBoolean によって受入れられるどの形式を有してもよい｡ 　　 Specifies whether or not to draw a horizontal rule through the middle of characters. Boolean may have any of the forms accepted by Tcl_GetBoolean.

-overstrikefg color
  color は打ち消し線を表示する時に使う色を指定する｡Tk_GetColor によって受入れられるどの形式を有してもよい｡ color が指定されてないか､空文字列が指定されている時は､ -foreground 貼り札指定項目によって指定された色が使用される｡ Color specifies the color to use when displaying the overstrike. It may have any of the forms accepted by Tk_GetColor. If color has not been specified, or if it is specified as an empty string, then the color specified by the -foreground tag option is used.

-relief relief
  relief は､境界の描画に使用する立体感の様式を､ Tk_GetPixels に受入れられる書式で指定する｡この指定は望ましい縁の外観が可能になるように､ -borderwidth 指定と併せて用いられる｡ Relief specifies the relief style to use for drawing the border, in any of the forms accepted by Tk_GetRelief. This option is used in conjunction with the -borderwidth option to enable to the desired border appearance.

-rmargin pixels
  もし文書行の最初の非掩蔽文字が指示項目を指定した貼り札を有する場合､ pixels は行末と窓の右端の間に如何に多くの余裕を残すかを指定する｡pixels は画面距離としてのどの標準的な形式を有してもよい｡この指示項目は折り畳みが可能である時にのみ使用される｡もし文書の行が折り畳まれると､表示上の各行の右側の余裕は最初の非掩蔽文字の表示行によって定められる｡ 　　 If the first non-elided character of a display line has a tag for which this option has been specified, then pixels specifies how wide a margin to leave between the end of the line and the right edge of the window. Pixels may have any of the standard forms for screen distances. This option is only used when wrapping is enabled. If a text line wraps, the right margin for each line on the display is determined by the first non-elided character of that display line.

-rmargincolor color
  color は､-rmargin によって段下げされた為に文字を含まない領域内に使用する為の背景色を指定する｡それは Tk_GetColor によって受入れられるどのような形式を有していても好い｡ color が指定されないか､空文字列を指定されると -background 貼り紙指定によって指定された色が使われる(又は､これも指定されないと､-background 部品指定による)｡ Color specifies the background color to use in regions that do not contain characters because they are indented by -rmargin. It may have any of the forms accepted by Tk_GetColor. If color has not been specified, or if it is specified as an empty string, then the color used is specified by the -background tag option (or, if this is also unspecified, by the -background widget option).

-selectbackground color
  color は選択した品目を表示する際に使用する背景色を指定する｡それは Tk_GetColor に受容れられるどのような形式でも好い｡もし color が指定されないか､空文字列が指定された場合､ color は -background 貼札指定による指定が使用される｡ Color specifies the background color to use when displaying selected items. It may have any of the forms accepted by Tk_GetColor. If color has not been specified, or if it is specified as an empty string, then the color specified by the -background tag option is used.

-selectforeground color
  color は選択された品目を表示する際に使用する前景色を指定する｡それは Tk_GetColor に受容れられるどのような形式でも好い｡もし color が指定されてないか､空文字列が指定された場合､ color は -foreground 貼札指定により指定された色が使用される｡ Color specifies the foreground color to use when displaying selected items. It may have any of the forms accepted by Tk_GetColor. If color has not been specified, or if it is specified as an empty string, then the color specified by the -foreground tag option is used.

-spacing1 pixels
  pixels は各文書行の上に如何に多くの追加的余白を残すべきかを､どれかの標準的な形式の画面距離で指定する｡譬えば､正の偏寄は肩添字に､負の偏寄は下添字に使用できる｡もし文書の行が折り畳まれると､この指示項目は表示上の最初の行のみに適用される｡ Pixels specifies how much additional space should be left above each text line, using any of the standard forms for screen distances. If a line wraps, this option only applies to the first line on the display.

-spacing2 pixels
  折り畳んだ行について､この指示項目は､一つの文書行表示行の間に幾らの追加的余白を残すかを指定する｡ pixels は画面距離としてのどの標準的な形式を有してもよい｡ 　　 For lines that wrap, this option specifies how much additional space to leave between the display lines for a single text line. Pixels may have any of the standard forms for screen distances.

-spacing3 pixels
  pixels は各文書行の下に如何に多くの追加的余白を残すべきかを､どれかの標準的な形式の画面距離で指定する｡もし行が折り畳まれると､この指示項目は表示上の最後の行のみに適用される｡ Pixels specifies how much additional space should be left below each text line, using any of the standard forms for screen distances. If a line wraps, this option only applies to the last line on the display.

-tabs tabList
  tabList はタブ位置の組を文書部品の -tabs 指示項目の為の形式と同じ形式で設定する｡もし表示行上の最初の非掩蔽文字に適用する場合は､この指示項目は表示行にのみ適用する｡もしこの指示項目を空文字列として指定するならば､指示項目を解約し､その貼り札について非指定(省略時設定)に戻しておく｡もし指示項目が -tags{} の様な空リストを非空文字列として指定されていると､省略時設定の､８文字タブ位置を -tags 部品指示項目で記述したとおりに要求する｡ TabList specifies a set of tab stops in the same form as for the -tabs option for the text widget. This option only applies to a display line if it applies to the first non-elided character on that display line. If this option is specified as an empty string, it cancels the option, leaving it unspecified for the tag (the default). If the option is specified as a non-empty string that is an empty list, such as -tags { }, then it requests default 8-character tabs as described for the -tags widget option.

-tabstyle style
  style は文書部品の為に使う tabular か wordprocessor 方式のタブ設定を指定する｡もし表示行上の最初の非掩蔽文字に適用する場合は､この指示項目は表示行にのみ適用する｡もしこの指示項目を空文字列として指定するならば､指示項目を解約し､その貼り札について非指定(省略時設定)に戻しておく｡ Style specifies either the tabular or wordprocessor style of tabbing to use for the text widget. This option only applies to a display line if it applies to the first non-elided character on that display line. If this option is specified as an empty string, it cancels the option, leaving it unspecified for the tag (the default).

-underline boolean
  boolean は下になっている文字に下線を引くか否かを指定する｡それは Tcl_GetBoolean によって受入れられるどの形式を有してもよい｡ Boolean specifies whether or not to draw an underline underneath characters. It may have any of the forms accepted by Tcl_GetBoolean.

-underlinefg color
  color は､下線を表示するときに使用する為の色を指定する｡それはTk_GetColor によって受入れられるどのような形式を有していても好い｡ color が指定されないか､空文字列を指定されると -foreground 貼り札指定に指定された色が使われる｡ Color specifies the color to use when displaying the underline. It may have any of the forms accepted by Tk_GetColor. If color has not been specified, or if it is specified as an empty string, then the color specified by the -foreground tag option is used.

-wrap mode
  mode は文書の窓より幅広い行を如何に扱うかを指定する｡もしその表示行の最初の非省略文字にこれを適用する場合この指定項目は表示行にのみ適用する｡文書部品に対する -wrap 指示項目と同じ適正な値を有する: none か char か word ｡もしこの貼り札指示項目が指定されていると文書部品の為の -wrap 指示項目を上書きする｡ Mode specifies how to handle lines that are wider than the text's window. This option only applies to a display line if it applies to the first non-elided character on that display line. It has the same legal values as the -wrap option for the text widget: none, char, or word. If this tag option is specified, it overrides the -wrap option for the text widget.

もし文字がそれに結合している幾つかの貼り札を有し且つ､その表示指示項目が矛盾していると､最優先の貼り札の指示項目が使われる｡もし特定の表示指示項目が特定の貼り札について指定されていないか空文字列が指定されていると､その指示項目は使われることはない; 代りに次の最優先度の貼り札の指示項目が使われることになる｡もし､どの貼り札も特定の表示指示項目を指定していないと､部品に対する省略時設定の方式が使用されることになる｡ 　　 If a character has several tags associated with it, and if their display options conflict, then the options of the highest priority tag are used. If a particular display option has not been specified for a particular tag, or if it is specified as an empty string, then that option will never be used; the next-highest-priority tag's option will used instead. If no tag specifies a particular display option, then the default style for the widget will be used.

貼り札の第二の目的は行事の束縛である｡貼り札との束縛を部品の級との束縛の結合と同じ様な方法で結合できる｡いつであれ､貼り札を有する文字上に､特定の X 行事が生じると､与えられた Tcl 命令が実行される｡貼り札束縛は範囲内の文字に振舞いを与える為に使用できる､就中これにより､情報連結文章の様な性質の実装を許容する｡詳細は下の “pathName tag bind” 命令の記述を参照されたい｡貼り札の束縛は全ての眷属部品(特別の sel 貼り札の為の束縛を含む)で共有される｡ 　　 The second purpose for tags is event bindings. You can associate bindings with a tag in much the same way you can associate bindings with a widget class: whenever particular X events occur on characters with the given tag, a given Tcl command will be executed. Tag bindings can be used to give behaviors to ranges of characters; among other things, this allows hypertext-like features to be implemented. For details, see the description of the “pathName tag bind” widget command below. Tag bindings are shared between all peer widgets (including any bindings for the special sel tag).

貼り札の第三の用途は選択の管理にある｡下の 選択 THE SELECTION の項目を参照されたい｡特別の sel 貼り札を除いて､全ての貼り札は眷属の文書部品に共有され､而も､その様などの部品からも対等に操作される｡sel 貼り札は別々に実在し､而もそれぞれの同属の文書部品から独立している(しかし､どの sel への貼り札束縛も共有されている)｡ 　　 The third use for tags is in managing the selection. See THE SELECTION below. With the exception of the special sel tag, all tags are shared between peer text widgets, and may be manipulated on an equal basis from any such widget. The sel tag exists separately and independently in each peer text widget (but any tag bindings to sel are shared).

### MARKS

文書部品の第二の形式の注解は浮標である｡浮標は text 部品内の特定の場所を記憶する為に使われる｡それはある種の貼り札に似ている､その中で名前を持ち､ファイル中の場所を参照する､しかし､浮標は特定の文字と結合しない｡その代わり､浮標は二つの文字の間隙に結合する｡特定の時刻には一つの位置のみが浮標に結合できる｡もし､浮標の周囲の文字が削除されても浮標は依然として残る; そこに新しい隣人としての新しい文字が来る｡その反対に､貼り札を有している文字が削除されると貼り札はもはやファイル中の文字との結合を有しない｡浮標は“pathName mark”部品命令によって操作され得る､そして､その現在の位置は浮標の名前を使って部品命令内の索引の如く決定できる｡ 　　 The second form of annotation in text widgets is a mark. Marks are used for remembering particular places in a text. They are something like tags, in that they have names and they refer to places in the file, but a mark is not associated with particular characters. Instead, a mark is associated with the gap between two characters. Only a single position may be associated with a mark at any given time. If the characters around a mark are deleted the mark will still remain; it will just have new neighbor characters. In contrast, if the characters containing a tag are deleted then the tag will no longer have an association with characters in the file. Marks may be manipulated with the “pathName mark” widget command, and their current locations may be determined by using the mark name as an index in widget commands.

それぞれの浮標は “重心” を有する､それは left か right どちらかである｡浮標の為の重心は浮標の位置に文書を挿入した時に何が起るかを指定する｡もし浮標が左重心を有すると､浮標の位置に挿入されるどの文書より左に残る様､恰も浮標が文字に左から貼り付いているかの様に扱われる｡もし浮標が右重心を有すると浮標の位置に挿入した新しい文書は浮標の左に現れることになる(それで浮標は最も右に残る)｡浮標の省略時設定の重心は right である｡ 　　 Each mark also has a “gravity”, which is either left or right. The gravity for a mark specifies what happens to the mark when text is inserted at the point of the mark. If a mark has left gravity, then the mark is treated as if it were attached to the character on its left, so the mark will remain to the left of any text inserted at the mark position. If the mark has right gravity, new text inserted at the mark position will appear to the left of the mark (so that the mark remains rightmost). The gravity for a mark defaults to right.

浮標の名前空間はその貼札の為のものとは異なる: 浮標と貼札に同じ名前を使っても構わないが､それらは異なるものを指すことになる｡ The name space for marks is different from that for tags: the same name may be used for both a mark and a tag, but they will refer to different things.

二つの浮標が特別な重要性を有する｡第一に､浮標 insert は下の THE INSERTION CURSOR のもとで記述する様に挿入遊走子と結合している｡第二に､浮標 current はマウスに最も近い文字と結合し､マウスの位置の航跡と部品内のどの文書の変化にも自動的に調整される(例外は: マウス釦が押下されていると､ current はマウスの動きに応じる更新はされない; 更新はマウス釦が解除される迄先送りされる)｡この特別な浮標は何れも削除されない｡この二つの特別な浮標を除くと､全ての浮標は文書部品を眷属の間で共有する､又､どの眷属からも対等に操作され得る｡ 　　 Two marks have special significance. First, the mark insert is associated with the insertion cursor, as described under THE INSERTION CURSOR below. Second, the mark current is associated with the character closest to the mouse and is adjusted automatically to track the mouse position and any changes to the text in the widget (one exception: current is not updated in response to mouse motions if a mouse button is down; the update will be deferred until all mouse buttons have been released). Neither of these special marks may be deleted. With the exception of these two special marks, all marks are shared between peer text widgets, and may be manipulated on an equal basis from any peer.

### EMBEDDED WINDOWS

文書部品の第三の形式の注解は埋め込み窓である｡それぞれの埋め込み窓注解は文書中の特定の位置に窓表示を惹き起こす｡文書部品内に幾つの数の埋め込み窓があってもよく､どの部品も埋込み窓として使われる得る(幾何学管理譜に関する通常の規則の対象として､文書窓が埋込み窓の親か親の子孫である事を要求している)｡ 　　 The third form of annotation in text widgets is an embedded window. Each embedded window annotation causes a window to be displayed at a particular point in the text. There may be any number of embedded windows in a text widget, and any widget may be used as an embedded window (subject to the usual rules for geometry management, which require the text window to be the parent of the embedded window or a descendant of its parent).

埋込み窓の画面上の位置は､文書の修正や摺動に従って更新される､そして文書部品の可視領域に入ったり出たりに従って､位置付けされたり､位置付け解除されたりする｡それぞれの埋込み窓は､文書部品内の索引の一つ分を占有し､その埋込み窓の名前か､部品内の索引位置で参照される｡もし埋込み窓を含んでいる文書の範囲が削除されると､窓は破壊される｡同様に､もし文書部品全体として削除されると､窓は破壊される｡ 　　 The embedded window's position on the screen will be updated as the text is modified or scrolled, and it will be mapped and unmapped as it moves into and out of the visible area of the text widget. Each embedded window occupies one unit's worth of index space in the text widget, and it may be referred to either by the name of its embedded window or by its position in the widget's index space. If the range of text containing the embedded window is deleted then the window is destroyed. Similarly if the text widget as a whole is deleted, then the window is destroyed.

pathName window create index -create 経由の生成段取り直後のその埋込み窓の掩蔽は効率的生成が阻まれることになる｡pathName window create index -create 経由の生成が段取りされた掩蔽された埋込み窓の掩蔽取消しは関連する生成記述譜を自動的に起動することになる｡掩蔽された埋込み窓の破壊の後､後者は自動的には再生成されない｡｡ 　　 Eliding an embedded window immediately after scheduling it for creation via pathName window create index -create will prevent it from being effectively created. Uneliding an elided embedded window scheduled for creation via pathName window create index -create will automatically trigger the associated creation script. After destroying an elided embedded window, the latter won't get automatically recreated.

埋込み窓が文書窓に pathName window create 部品命令を使って追加されると幾つかの構成設定指示項目もそれに結合することがある｡このような指示項目は後に pathName window configure 部品命令を使って修正もできる｡次の指示項目が現在運用されている: 　　 When an embedded window is added to a text widget with the pathName window create widget command, several configuration options may be associated with it. These options may be modified later with the pathName window configure widget command. The following options are currently supported:

-align where
  もし窓がその中で表示される行ほどには高くない場合､この指示項目は行内の何処に窓が表示されるかを定める｡where は top (窓の頂を行の頂に揃える)か､ center (窓を行の範囲の中央に置く)か, bottom (窓の底辺を行の範囲の底に揃える)か､ baseline (窓の底辺を行の基準線に揃える)の内のどれかの値でなければならない｡ 　　 If the window is not as tall as the line in which it is displayed, this option determines where the window is displayed in the line. Where must have one of the values top (align the top of the window with the top of the line), center (center the window within the range of the line), bottom (align the bottom of the window with the bottom of the line's area), or baseline (align the bottom of the window with the baseline of the line).

-create script
  注解に関わる窓を生成する為に評価され得る Tcl 記述譜を指定する｡もし注解の為に -window 指示項目が指定されない場合､画面に注解が表示されるべき時にはこの記述譜が評価される｡script は注解の為の窓を作成せねばならず､その結果としてその窓の名前を返す｡評価される前に script 内で二つの置換が遂行される｡%W は親の文書部品の名前に置換され､ %% は一つの % に置換される｡もし注解の窓が削除されるべきであると､ script は再度評価され､次回には注解が表示される｡ 　　 Specifies a Tcl script that may be evaluated to create the window for the annotation. If no -window option has been specified for the annotation this script will be evaluated when the annotation is about to be displayed on the screen. Script must create a window for the annotation and return the name of that window as its result. Two substitutions will be performed in script before evaluation. %W will be substituted by the name of the parent text widget, and %% will be substituted by a single %. If the annotation's window should ever be deleted, script will be evaluated again the next time the annotation is displayed.

-padx pixels
  pixels は埋込み窓のそれぞれの側に残すべき余分な余白の大きさを指定する｡それは画面距離として定義されるどの様な通常の形式を有してもよい｡ Pixels specifies the amount of extra space to leave on each side of the embedded window. It may have any of the usual forms defined for a screen distance.

-pady pixels
  pixels は埋込み窓の上と下に残すべき余分な余白の大きさを指定する｡それは画面距離として定義されるどの様な通常の形式を有してもよい｡ Pixels specifies the amount of extra space to leave on the top and on the bottom of the embedded window. It may have any of the usual forms defined for a screen distance.

-stretch boolean
  もし要求された埋込み窓の高さが表示される行の高さより低いと､この指示項目は行を満たす様に窓を垂直に拡張すべきかの指定に使用される｡もし -pady 指示項目が同様に指定されていると要求された詰め込みは縦え窓が拡張されても保たれる｡ 　　 If the requested height of the embedded window is less than the height of the line in which it is displayed, this option can be used to specify whether the window should be stretched vertically to fill its line. If the -pady option has been specified as well, then the requested padding will be retained even if the window is stretched.

-window pathName
  注解の中に表示される窓の名前を指定する｡註意すべきは､もし pathName が指定されていると､後の窓の構成設定で空文字列が古い pathName に相当する部品を削除しなくなる｡寧ろ､古い pathName と文書部品との結合を取去る｡もし､複数の眷属の部品を使用している場合､もしそれぞれの眷属内で埋込み窓が望まれている場合は､通常はより簡単な -create 指示項目を使用する｡ 　　 Specifies the name of a window to display in the annotation. Note that if a pathName has been set, then later configuring a window to the empty string will not delete the widget corresponding to the old pathName. Rather it will remove the association between the old pathName and the text widget. If multiple peer widgets are in use, it is usually simpler to use the -create option if embedded windows are desired in each peer.

### EMBEDDED IMAGES

文書部品の最後の形式の注解は埋込み影像である｡それぞれの埋め込み影像注解は文書中の特定の位置に表示される影像を惹き起こす｡文書部品内に幾つの数の埋め込み影像があってもよく､特定の影像は同じ文書部品内に幾つも埋め込まれ得る｡ 　　 The final form of annotation in text widgets is an embedded image. Each embedded image annotation causes an image to be displayed at a particular point in the text. There may be any number of embedded images in a text widget, and a particular image may be embedded in multiple places in the same text widget.

埋込み影像の画面上の位置は､文書の修正や摺動に従って更新される｡それぞれの埋込み影像は､文書部品内の索引の一つ分を占有し､部品内の索引位置か､ pathName image create を使って文書部品の中に挿入する時に代入された名前かで参照される｡もし埋込み影像を含んでいる文書の範囲が削除されると､影像の複写は画面から取去られる｡ 　　 The embedded image's position on the screen will be updated as the text is modified or scrolled. Each embedded image occupies one unit's worth of index space in the text widget, and it may be referred to either by its position in the widget's index space, or the name it is assigned when the image is inserted into the text widget with pathName image create. If the range of text containing the embedded image is deleted then that copy of the image is removed from the screen.

pathName image create index -create 経由での生成に関する段取り直後の埋込み影像の掩蔽は､その効率的生成の為に抑制される｡pathName image create index -create 経由での生成に関して段取りされた埋め込まれた影像の掩蔽の取り消しは､自動的に関連する記述譜を起動する｡掩蔽された埋込み影像の破壊の後に､影像は自動的には再生成されない｡ 　　 Eliding an embedded image immediately after scheduling it for creation via pathName image create index -create will prevent it from being effectively created. Uneliding an elided embedded image scheduled for creation via pathName image create index -create will automatically trigger the associated creation script. After destroying an elided embedded image, the latter won't get automatically recreated.

埋込み影像が pathName image create 部品命令を使って文書部品に追加される時､この影像の即値に対する唯一無二の名前が返される｡その名前はその影像の即値の参照に使用できる｡その名前は -name 指示項目の値をとる(後述)｡もし -name 指示項目が与えられないと代りに -image 名前が使われる｡もし imageName が既に文書部品内で使用されていると､ imageName の後に nn が添えられる､ここで nn は任意の番号である｡これにより imageName が重複しない事を保障する｡影像の即値に一度名前が代入されると､たとえ pathName image configure により -image や -name 値が変化することがあっても､変化する事はない｡ 　　 When an embedded image is added to a text widget with the pathName image create widget command, a name unique to this instance of the image is returned. This name may then be used to refer to this image instance. The name is taken to be the value of the -name option (described below). If the -name option is not provided, the -image name is used instead. If the imageName is already in use in the text widget, then #nn is added to the end of the imageName, where nn is an arbitrary integer. This insures the imageName is unique. Once this name is assigned to this instance of the image, it does not change, even though the -image or -name values can be changed with pathName image configure.

pathName image create 命令を使って埋込み影像が文書部品に加えられるとき､幾つかの構成設定指示項目をそれに結合してもよい｡これらの指示項目は後に､ pathName image configure 部品命令を使って変更することができる｡次の指示項目が現在運用されている: 　　 When an embedded image is added to a text widget with the pathName image create widget command, several configuration options may be associated with it. These options may be modified later with the pathName image configure widget command. The following options are currently supported:

-align where
  もし影像がその中で表示される行ほどには高くない場合､この指示項目は行内の何処に影像が表示されるかを定める｡where は top (影像の頂を行の頂に合せる)か､ center (影像を行の範囲の中央に置く)か, bottom (行の範囲の底に影像の底を整列する)か､ baseline (映像の底を行の基準線に合せる) の内のどれかの値でなければならない｡ 　　 If the image is not as tall as the line in which it is displayed, this option determines where the image is displayed in the line. Where must have one of the values top (align the top of the image with the top of the line), center (center the image within the range of the line), bottom (align the bottom of the image with the bottom of the line's area), or baseline (align the bottom of the image with the baseline of the line).

-image image
  注解内に表示する為の Tk 影像の名前を指定する｡image が Tk 影像に不適当であると不都合が返される｡ 　　 Specifies the name of the Tk image to display in the annotation. If image is not a valid Tk image, then an error is returned.

-name ImageName
  この影像の即値が､文書部品内で参照される名前を指定する｡もし ImageName が与えられないと､代りに Tk 影像の名前が使用される｡もし ImageName が既に使用されていると､ #nn が上述の名前に追加される｡ 　　 Specifies the name by which this image instance may be referenced in the text widget. If ImageName is not supplied, then the name of the Tk image is used instead. If the imageName is already in use, #nn is appended to the end of the name as described above.

-padx pixels
  pixels は埋込み影像のそれぞれの側に残すべき余分な余白の大きさを指定する｡それは画面距離として定義されるどの様な通常の形式を有してもよい｡ Pixels specifies the amount of extra space to leave on each side of the embedded image. It may have any of the usual forms defined for a screen distance.

-pady pixels
  pixels は埋込み影像の上と下に残すべき余分な余白の大きさを指定する｡それは画面距離として定義されるどの様な通常の形式を有してもよい｡｡ Pixels specifies the amount of extra space to leave on the top and on the bottom of the embedded image. It may have any of the usual forms defined for a screen distance.

### THE SELECTION

選択の運用は貼り札を経由して実装されている｡もし文書部品に対する -exportSelection 指示項目が真値なら､ sel 貼り札は選択と結合している[訳註:8.6版では -exportSelection の省略時設定は真値]: 　 Selection support is implemented via tags. If the -exportselection option for the text widget is true then the sel tag will be associated with the selection:

1. 何時であれ文字が sel によって貼り札されていると文書部品は選択の保持を宣言することになる｡ 　　 Whenever characters are tagged with sel the text widget will claim ownership of the selection.

2. 選択の取戻しの試みは､ sel 貼り札を伴う全ての文字を返して､文書部品により実行される｡ 　　 Attempts to retrieve the selection will be serviced by the text widget, returning all the characters with the sel tag.

3. もし他の応用譜やこの応用譜内の他の窓によって選択の離脱が宣言された場合､ sel 貼り札は文書内の全ての文字から取除かれる｡ 　　 If the selection is claimed away by another application or by another window within this application, then the sel tag will be removed from all characters in the text.

4. 何時であれ sel 貼り札の範囲が変わると仮想行事 <<Selection>> が生成される｡又､選択が影響を受けるが実際には変更されない時にも生成され得る｡更には､多重の選択の変更は同じ可視の選択による多重行事に至る行事が進行し得る前に起こり得る｡ おうｙｙｙWhenever the sel tag range changes a virtual event <<Selection>> is generated. It might also be generated when selection is affected but not actually changed. Further, multiple selection changes could happen before events can be processed leading to multiple events with the same visible selection.

文書部品が作成された時に sel 貼り札は自動的に定義され､ “pathName tag delete” 部品命令を使って削除されることはない｡更に､文書部品に対する selectBackground と selectBorderWidth と selectForeground 指示項目は sel 貼り札に対する -background と -borderwidth と -foreground 指示項目に束縛されている: それぞれに対する変更は他方に自動的に反映される｡又､文書部品に対する -inactiveselectbackground 指示項目は部品が注目を有していない時には -selectbackground の代りに使用される｡これにより算譜が前景と背景に対する視覚化の sel 貼り札を支配して制御する､又は sel に対し､背景の窓について何も示させない( -inactiveselectbackground が空のとき)｡それぞれの眷属の文書部品は自身の sel 貼り札を有し､それらは別々に構成設定と設定が可能である｡[訳註: 選択 sel は 貼り札 (tag) の類｡] 　 The sel tag is automatically defined when a text widget is created, and it may not be deleted with the “pathName tag delete” widget command. Furthermore, the -selectbackground, -selectborderwidth, and -selectforeground options for the text widget are tied to the -background, -borderwidth, and -foreground options for the sel tag: changes in either will automatically be reflected in the other. Also the -inactiveselectbackground option for the text widget is used instead of -selectbackground when the text widget does not have the focus. This allows programmatic control over the visualization of the sel tag for foreground and background windows, or to have sel not shown at all (when -inactiveselectbackground is empty) for background windows. Each peer text widget has its own sel tag which can be separately configured and set.

### THE INSERTION CURSOR

名前が insert の浮標は文書部品内で特別の重要性を有する｡それは文書部品が作成された時に自動的に定義され､ “pathName mark unset” 部品命令では消去(unset )されない｡insert の浮標は挿入遊走子の位置を表示し､挿入遊走子は何時であれ文書部品が入力の注目を有する時は､自動的にその位置に描かれる｡ 　　 The mark named insert has special significance in text widgets. It is defined automatically when a text widget is created and it may not be unset with the “pathName mark unset” widget command. The insert mark represents the position of the insertion cursor, and the insertion cursor will automatically be drawn at this point whenever the text widget has the input focus.

-blockcursor部品指示項目制御は､遊走標の描画を制御する｡ しかし､遊走標の描画は 充填型の明滅塊としての遊走標の描画は､実端末又は模倣端末としても正確に遂行されない｡遊走標の位置の文字は常にその前景の色の中で描かれ､即ち､"画像反転"内ではない､それは､遊走標が使用状態内の時に､ 望まない視覚効果を導き､文字を完全に隠しさえする､かもしれない｡ The -blockcursor widget option controls the drawing of the cursor. However, drawing the cursor as a solid blinking block is not exactly performed as in real or emulated terminals. The character at the cursor position is always drawn in it's foreground color, i.e. not in "reverse video", which can lead to unwanted visual effects and even hide the character entirely, when the cursor is in its on-state.

### 修正旗標 THE MODIFIED FLAG

文書部品は修正旗標の方法で部品の内容の変化の航跡を保有する事ができる｡文書の挿入又は消去はこの旗標を設定する｡その旗標は算譜的に問合せができ､設定と解消もできる｡何時であれ､旗標が状態を変化すると <<Modified>> 仮想行事が生成する｡更なる詳細は pathName edit modified 部品命令を参照されたい｡ 　　 The text widget can keep track of changes to the content of the widget by means of the modified flag. Inserting or deleting text will set this flag. The flag can be queried, set and cleared programmatically as well. Whenever the flag changes state a <<Modified>> virtual event is generated. See the pathName edit modified widget command for more details.

### THE UNDO MECHANISM

文書部品命令は､無制限に取消しと再実行の仕組みを有する( -undo 部品指示項目が真値の時)それは棚上の全ての挿入と削除行為を記録する｡[訳註:8.6版では -undo の省略時設定は偽値] 　　 The text widget has an unlimited undo and redo mechanism (when the -undo widget option is true) which records every insert and delete action on a stack.

境界( “区切り” と呼ばれる)が編集活動の間に挿入される｡これらの区切りの目的は挿入､削除､繰返しを一つの複合編集動作にまとめる事である｡取消しの時は二つの区切りの間の全ての変更が取消される｡取消しの変更は再実行棚に移動する､そこで､取消しの編集の再実行が可能になる｡再実行棚は何時であれ､新しい編集行為が取消し棚に記録されると刷新される｡取消し棚及び再実行棚は制御により深さをを保つ為に刷新可能である｡ 　　 Boundaries (called “separators”) are inserted between edit actions. The purpose of these separators is to group inserts, deletes and replaces into one compound edit action. When undoing a change everything between two separators will be undone. The undone changes are then moved to the redo stack, so that an undone edit can be redone again. The redo stack is cleared whenever new edit actions are recorded on the undo stack. The undo and redo stacks can be cleared to keep their depth under control.

区切りは -autoseparators 部品指示項目が真値の時は､自動的に挿入される｡意識的に挿入する事は可能である｡もし取消し棚の頂上に区切りが既に存在すると､それ以上は挿入されない｡その意味は､取消し棚上の二つの区切りは常に少なくとも一つの挿入か削除で隔てられている｡ 　　 Separators are inserted automatically when the -autoseparators widget option is true. You can insert separators programmatically as well. If a separator is already present at the top of the undo stack no other will be inserted. That means that two separators on the undo stack are always separated by at least one insert or delete action.

<<UndoStack>> 仮想行事は取消棚又は再実行棚が空になったか空でなくなったときに何時も生成される｡ 　　 The <<UndoStack>> virtual event is generated every time the undo stack or the redo stack becomes empty or unempty.

取消しの仕組みは修正旗標に連結している｡この意味は取消し又は再実行の変化は修正された文書部品を修正されない状態に戻す事ができ､逆もまた同じである｡修正旗標は適正な状態に自動的に設定される｡この自動の結合は修正旗標が使用者によって設定されたときは､それが再度刷新される迄働かない｡ 　　 The undo mechanism is also linked to the modified flag. This means that undoing or redoing changes can take a modified text widget back to the unmodified state or vice versa. The modified flag will be set automatically to the appropriate state. This automatic coupling does not work when the modified flag has been set by the user, until the flag has been reset again.

取消しの仕組みを制御している pathName edit 部品命令については下を参照されたい｡ 　　 See below for the pathName edit widget command that controls the undo mechanism.

### PEER WIDGETS

文書部品はそれぞれの行の文書内容､浮標､貼り札､影像､窓､取消し棚に関わる全データを別々に保存している｡ 　　 The text widget has a separate store of all its data concerning each line's textual contents, marks, tags, images and windows, and the undo stack.

この保存データは直接には利用できず(即ち､仲介者としての文書部品なしには)､それぞれが同じ基礎データ上の異なる視野を提示する様な､多重の文書部品が作成可能である｡このような文書部品は眷属部品として知れらている｡ 　　 While this data store cannot be accessed directly (i.e. without a text widget as an intermediary), multiple text widgets can be created, each of which present different views on the same underlying data. Such text widgets are known as peer text widgets.

どれか一つの部品上に､文書が追加されたり､削除されたり､編集されたり､色づけされたりするか､影像や､浮標や､貼り札が調整されたりすると､この様な全ての変化は全ての眷属に反映される｡ As text is added, deleted, edited and coloured in any one widget, and as images, marks, tags are adjusted, all such changes will be reflected in all peers.

全てのデータと浮標は､幾らかの詳細を除いて､共有される｡第一､それぞれの眷属毎に別々に､ sel 貼り札が設定され(その表示方式で)､構成設定される｡第二､それぞれの眷属はそれ自身の insert と current 浮標位置を有する(しかし全ての他の浮標は共有される)｡第三､埋込み窓､それは任意の他の窓で､眷属間で共有され得ない｡この意味は､埋込み窓の -window 指示項目はそれぞれの眷属で独立に設定することを意味する(それぞれの眷属に必要に応じて自己の埋込み窓の作成を許容するために -create による記述譜作成機能を使用するよう推奨する)｡第四､それぞれの眷属の全ての構成設定指示項目(譬えば､ -font 等)は -undo -maxUndo -autoSeparators を除いて､独立に設定可能である(即ち､全ての取消し､再実行､修正状態の問題は共有する)｡ 　　 All data and markup is shared, except for a few small details. First, the sel tag may be set and configured (in its display style) differently for each peer. Second, each peer has its own insert and current mark positions (but all other marks are shared). Third, embedded windows, which are arbitrary other widgets, cannot be shared between peers. This means the -window option of embedded windows is independently set for each peer (it is advisable to use the -create script capabilities to allow each peer to create its own embedded windows as needed). Fourth, all of the configuration options of each peer (e.g. -font, etc) can be set independently, with the exception of -undo, -maxundo, -autoseparators (i.e. all undo, redo and modified state issues are shared).

最後にどの単一眷属も基礎の保存データの全ての行を含む必要はない｡眷属を作成する時､切れ目のない行の範囲(譬えば､単に52行から125行)が指定されねばならない｡これにより､眷属が文書全体の小さい部位を含むことを許容する｡その行の範囲は文書の挿入と削除に従って拡張したり､収縮したりすることになる｡眷属は文書の完全な行のみを表示する(それは行の一部だけの共有はできない)｡もし眷属の内容が何もない迄に収縮すると(即ち､眷属部品中の全ての完全な行が他の部品から取除かされる)､新しい行の挿入は不可能である｡眷属は単なる空の殻になる､その上に背景は構成設定が可能であるが､それはどの内容も決して表示はされない(但し､初めの行と末尾の行の手動再構成設定を除いて)｡註意すべきは､眷属は､ “1.0” から “end” に番号付けされた索引を有しても､基礎保存データの全てを含んでいる訳ではない｡単に､この様な索引はデータ全体の部分集合を反映していて､含まれる範囲外のデータは眷属からは利用できない｡これは､ peerName index end 命令は異なる眷属では全く異なる値を返すかもしれない､ことを意味する｡同様に､peerName tag ranges のような命令は､眷属には意味のある範囲､の外の索引は返さない｡構成設定の -startline と -endline 指示項目は､与えられたどの文書部品内であれ､基礎データが如何に多く含まれるかの制御に使用できる｡ Finally any single peer need not contain all lines from the underlying data store. When creating a peer, a contiguous range of lines (e.g. only lines 52 through 125) may be specified. This allows a peer to contain just a small portion of the overall text. The range of lines will expand and contract as text is inserted or deleted. The peer will only ever display complete lines of text (one cannot share just part of a line). If the peer's contents contracts to nothing (i.e. all complete lines in the peer widget have been deleted from another widget), then it is impossible for new lines to be inserted. The peer will simply become an empty shell on which the background can be configured, but which will never show any content (without manual reconfiguration of the start and end lines). Note that a peer which does not contain all of the underlying data store still has indices numbered from “1.0” to “end”. It is simply that those indices reflect a subset of the total data, and data outside the contained range is not accessible to the peer. This means that the command peerName index end may return quite different values in different peers. Similarly, commands like peerName tag ranges will not return index ranges outside that which is meaningful to the peer. The configuration options -startline and -endline may be used to control how much of the underlying data is contained in any given text widget.

註意すべきは眷属は実際眷属である｡ “もともとの” 文書部品の削除は他の眷属の消去をもたらさないし､他に影響を与えない｡ 　　 Note that peers are really peers. Deleting the “original” text widget will not cause any other peers to be deleted, or otherwise affected.

眷属部品の生成を制御している pathName peer 部品命令については下を参照されたい｡ 　　 See below for the pathName peer widget command that controls the creation of peer widgets.

### 行高さの非同期更新　 ASYNCHRONOUS UPDATE OF LINE HEIGHTS

使用者体験の対応性を維持する為に､文書部品は非同期に行の尺度(画素単位の行高さ)を計算している｡この為､文書部品のどれかの命令は､呼出し時に非同期計算が終了していない場合､間違った結果を返すことがある｡これは､pathName count -ypixels と pathName yview に適用される｡ 　　 In order to maintain a responsive user-experience, the text widget calculates lines metrics (line heights in pixels) asynchronously. Because of this, some commands of the text widget may return wrong results if the asynchronous calculations are not finished at the time of calling. This applies to pathName count -ypixels and pathName yview.

再度出来栄えの理由で､これらの命令はそれぞれの呼出し毎に更新計算終了迄常に待たせるのは適当ではない｡これらの命令の使用の多くの場合では､より良い或は劣った精度は､実行速度に較べて大きな問題ではない｡ 　　 Again for performance reasons, it would not be appropriate to let these commands always wait for the end of the update calculation each time they are called. In most use cases of these commands a more or less inaccurate result does not really matter compared to execution speed.

正確な結果が必要な場合(及び､もし文書部品が幾何管理譜によって管理されている場合)は､ pathName sync と､部品の外観の同期を制御する為の pathName pendingsync に訴える事ができる｡ 　　 In case accurate result is needed (and if the text widget is managed by a geometry manager), one can resort to pathName sync and pathName pendingsync to control the synchronization of the view of text widgets.

(何かの校正命令や構成設定変更によって)文書部品の行高さが不明瞭になった時に <<WidgetViewSync>> 仮想行事が始動すると､文書部品の内部データは部品外観との同期を取戻す｡詳細欄(%d 置換)は真値(部品が同期中)､又は偽値(同期してない)のどちらかである｡ 　　 The <<WidgetViewSync>> virtual event fires when the line heights of the text widget become obsolete (due to some editing command or configuration change), and again when the internal data of the text widget are back in sync with the widget view. The detail field (%d substitution) is either true (when the widget is in sync) or false (when it is not).

pathName sync, pathName pendingsync and <<WidgetViewSync>> apply to each text widget independently of its peers.

Examples of use:

    ## 用例 1:
    ## Example 1:
    # 如何に犠牲を払っても行尺度を即時完遂する (画像使用者対話 非対応)
    # immediately complete line metrics at any cost (GUI unresponsive)
    $w sync
    $w yview moveto $fraction

    ## Example 2:
    # 段取りした命令実行の前に､逐次的な(画像使用者対話 対応)
    # 行尺度の更新を同期して待つ､但し実行の流れを堰き止めない
    # synchronously wait for up-to-date line metrics (GUI responsive)
    # before executing the scheduled command, but don't block execution flow
    $w sync -command [list $w yview moveto $fraction]

    ## Example 3:
    # 初期化
    # init
    set yud($w) 0
    proc updateaction w {
    	set ::yud($w) 1
    	# 他の更新はここで…
    	# any other update action here...
    }
    # 実行時､ 逐次的な行尺度の更新を同期して待つ (画像使用者対話 対応)
    # runtime, synchronously wait for up-to-date line metrics (GUI responsive)
    $w sync -command [list updateaction $w]
    vwait yud($w)
    $w yview moveto $fraction

    ## Example 4:
    # init
    set todo($w) {}
    proc updateaction w {
    	foreach cmd $::todo($w) {uplevel #0 $cmd}
    	set todo($w) {}
    }
    # runtime
    lappend todo($w) [list $w yview moveto $fraction]
    $w sync -command [list updateaction $w]

    ## Example 5:
    # init
    set todo($w) {}
    bind $w <<WidgetViewSync>> {
    	if {%d} {
    		foreach cmd $todo(%W) {eval $cmd}
    		set todo(%W) {}
    	}
    }
    # runtime
    if {![$w pendingsync]} {
    	$w yview moveto $fraction
    } else {
    	lappend todo($w) [list $w yview moveto $fraction]
    }

### 部品命令 WIDGET COMMAND

text 命令は新しい Tcl 命令を生成する､その名前は文書の窓の経路名と同じである｡この命令は部品上の種々の操作の起動に使用される｡それは次の一般形式を有する: 　　 The text command creates a new Tcl command whose name is the same as the path name of the text's window. This command may be used to invoke various operations on the widget. It has the following general form:

    pathName option ?arg ...?

pathName は命令の名前であり､部品の経路の名前と同じである｡option と arg は命令の正確な振舞いを定める｡次の命令が文書部品について可能である: PathName is the name of the command, which is the same as the text widget's path name. Option and the args determine the exact behavior of the command. The following commands are possible for text widgets:

pathName bbox index
  index によって与えられた文字の画像領域を記述する四つの要素のリストを返す｡リストの最初の二要素は文字によって占有された領域の左上隅の x と y 座標を与える､最後の二つの要素は領域の幅と高さを与える｡もし文字が画面上に部分的にのみ可視であると､返る値は丁度可視の部分を反映する｡もし､文字が画面上に可視でない場合は返る値は空リストである｡ 　　 Returns a list of four elements describing the screen area of the character given by index. The first two elements of the list give the x and y coordinates of the upper-left corner of the area occupied by the character, and the last two elements give the width and height of the area. If the character is only partially visible on the screen, then the return value reflects just the visible part. If the character is not visible on the screen then the return value is an empty list.

pathName cget option
  option によって与えられる構成設定指示項目の現在の値を返す｡option は text 命令に受入れられるどの値でも有しうる｡ 　　 Returns the current value of the configuration option given by option. Option may have any of the values accepted by the text command.

pathName compare index1 op index2
  index1 と index2 で与えられる索引を op で与えられる比較演算子に従って比較し､もし関係が満足されると 1 を､そうでないと 0 を返す｡演算子 op は < か <= か == か >= か > か != でなければならない｡op が == の場合は､もし二つの索引が同一文字を参照していると 1 を返す､ op が < の場合は､もし index1 が index2 よりも文書内の早い位置の文字を参照していると 1 が返され､以下同様である｡ 　　 Compares the indices given by index1 and index2 according to the relational operator given by op, and returns 1 if the relationship is satisfied and 0 if it is not. Op must be one of the operators <, <=, ==, >=, >, or !=. If op is == then 1 is returned if the two indices refer to the same character, if op is < then 1 is returned if index1 refers to an earlier character in the text than index2, and so on.

pathName configure ?option? ?value option value ...?
  部品の構成設定できる指示項目の値を問合せ又は修正する｡もし option が指定されないと､ pathName について利用できる全ての指示項目を記述したリストを返す(このリストの書式の情報については Tk_ConfigureInfo を参照されたい)｡もし value なしで option が指定されると､その名前の指示項目を記述したリストが返る(このリストは､ option を指定しない時に返るリストの部分リストになっている)｡もし､一つ或はそれ以上の option-value 対が指定されると､命令は､与えられた指示項目を与えられた値に修正する; この場合､命令は空文字列を返す｡option はtext 命令が受入れるどの値を有していてもよい｡ 　　 Query or modify the configuration options of the widget. If no option is specified, returns a list describing all of the available options for pathName (see Tk_ConfigureInfo for information on the format of this list). If option is specified with no value, then the command returns a list describing the one named option (this list will be identical to the corresponding sublist of the value returned if no option is specified). If one or more option-value pairs are specified, then the command modifies the given widget option(s) to have the given value(s); in this case the command returns an empty string. Option may have any of the values accepted by the text command.

pathName count ?options? index1 index2
  二つの索引の間にある関連事項の数を勘定する｡もし index1 が index2 より後であると結果は負数になる(これが､それぞれの可能な指示項目の結果を保持している)｡勘定される実際の品目は与えられた指示項目に従う｡結果は､与えられたそれぞれの勘定すべき指示項目の結果による整数のリストである｡適正に勘定する指示項目は､ -chars と -displaychars と -displayindices と -displaylines と -indices と -lines と -xpixels と -ypixels である｡何も指示項目が指定されないと省略時設定の値は -indices である｡追加が可能な指示項目 -update があり､それは修飾子である｡もし与えられると(且つ文書部品が幾何管理譜により管理されていると)､それに続く､何か期限切れの情報の可能性が確実な､指示項目は全て再計算される｡これは現在 -ypixels の勘定に対してのみ何らかの有効性を有している(それは､もし -update が与えられないと､それぞれの行に対して､文書部品が高速処理用に現在保有している値が使われる)｡この -update 指示項目は､ pathName sync と pathName pendingsync と <<WidgetViewSync>> により旧式になっている｡個数勘定の指示項目は次の様に解釈される: 　　 Counts the number of relevant things between the two indices. If index1 is after index2, the result will be a negative number (and this holds for each of the possible options). The actual items which are counted depend on the options given. The result is a list of integers, one for the result of each counting option given. Valid counting options are -chars, -displaychars, -displayindices, -displaylines, -indices, -lines, -xpixels and -ypixels. The default value, if no option is specified, is -indices. There is an additional possible option -update which is a modifier. If given (and if the text widget is managed by a geometry manager), then all subsequent options ensure that any possible out of date information is recalculated. This currently only has any effect for the -ypixels count (which, if -update is not given, will use the text widget's current cached value for each line). This -update option is obsoleted by pathName sync, pathName pendingsync and <<WidgetViewSync>>. The count options are interpreted as follows:

  -chars
    掩蔽されたかどうかに拘わらず､全ての文字を勘定する｡埋込み窓や埋込み影像は勘定しない｡ 　　 count all characters, whether elided or not. Do not count embedded windows or images.

  -displaychars
    掩蔽されない全ての文字を勘定する｡ 　　 count all non-elided characters.

  -displayindices
    掩蔽されない全ての文字と､窓と､影像を勘定する｡ 　　 count all non-elided characters, windows and images.

  -displaylines
    全ての表示行を勘定する(即ち､行が折り返すたびに1を勘定する)､最初の索引の行から､第二の索引の行は含まず手前まで｡従って､それらが同じ表示行であると､零が返る｡定義により､表示行は可視であるので､これは実際の可視の行の部分のみを勘定する｡ 　　 count all display lines (i.e. counting one for each time a line wraps) from the line of the first index up to, but not including the display line of the second index. Therefore if they are both on the same display line, zero will be returned. By definition displaylines are visible and therefore this only counts portions of actual visible lines.

  -indices
    掩蔽されているか否かに拘わらず､全ての文字と､埋込窓か影像(即ち､文書部品の索引空間内で勘定した全てのもの）を勘定する｡ 　　 count all characters and embedded windows or images (i.e. everything which counts in text-widget index space), whether they are elided or not.

  -lines
    全ての論理行を勘定する(折り畳みに関係なく)､最初の索引の行から､第二の索引の行は含まず手前まで｡従って､それらが同じ行であると､零が返る｡論理行はそれが現在可視(非掩蔽)であるか否かに拘わらず勘定する｡ 　　 count all logical lines (irrespective of wrapping) from the line of the first index up to, but not including the line of the second index. Therefore if they are both on the same line, zero will be returned. Logical lines are counted whether they are currently visible (non-elided) or not.

  -xpixels
    水平の画素を勘定する､最初の索引の最初の画素から､第二の索引の最初の画素(但しそれを含まない)迄｡文書部品に望ましい総幅を勘定する為には(折り畳み不可を仮定している)､初めに最長の行を見付け､次に､ “.text count -xpixels "${line}.0" "${line}.0 lineend"” を使う｡ 　　 count the number of horizontal pixels from the first pixel of the first index to (but not including) the first pixel of the second index. To count the total desired width of the text widget (assuming wrapping is not enabled), first find the longest line and then use “.text count -xpixels "${line}.0" "${line}.0 lineend"”.

  -ypixels
    垂直の画素を勘定する､最初の索引の最初の画素から､第二の索引の最初の画素(但しそれを含まない)迄｡もし､両方の索引が同じ行であると､零が返る｡文書部品の垂直画素総数を勘定する為には “.text count -ypixels 1.0 end” を使い､その更新を確実にするには “.text count -update -ypixels 1.0 end” を使う｡ 　　 count the number of vertical pixels from the first pixel of the first index to (but not including) the first pixel of the second index. If both indices are on the same display line, zero will be returned. To count the total number of vertical pixels in the text widget, use “.text count -ypixels 1.0 end”, and to ensure this is up to date, use “.text count -update -ypixels 1.0 end”.

  本命令は､二つの索引の間に勘定された品目の数に応じて正又は負の整数を返す｡そのような一個の整数がそれぞれの与えられた勘定指示項目によって返されるので､もし複数の指示項目が供給されるとリストが返される｡譬えば “.text count -xpixels -ypixels 1.3 4.5” は完全に適正であり､二つの要素のリストを返す｡ 　　 The command returns a positive or negative integer corresponding to the number of items counted between the two indices. One such integer is returned for each counting option given, so a list is returned if more than one option was supplied. For example “.text count -xpixels -ypixels 1.3 4.5” is perfectly valid and will return a list of two elements.

pathName debug ?boolean?
  もし boolean が指定される場合､それは､ Tcl_GetBoolean によって受入れられる真値か偽値でなければならない｡もし値が真値であると文書部品に結合した B-樹枝譜に対する内部の一貫性検査が始まる｡もし boolean が偽値を有していると､不具合検査は行われない｡どちらの場合も命令は空文字列を返す｡もし boolean が指定されない時は命令は不具合検査のあるなしを指し示すための on か off を返す｡不具合のスイッチは一つしかなく全ての文書部品で共有されている: どれかの部品内での切り替えは全ての部品にたいする切り替えになる｡大量の文書を伴う部品については､一貫性の検査は目立った遅延を引起す｡ 　　 If boolean is specified, then it must have one of the true or false values accepted by Tcl_GetBoolean. If the value is a true one then internal consistency checks will be turned on in the B-tree code associated with text widgets. If boolean has a false value then the debugging checks will be turned off. In either case the command returns an empty string. If boolean is not specified then the command returns on or off to indicate whether or not debugging is turned on. There is a single debugging switch shared by all text widgets: turning debugging on or off in any widget turns it on or off for all widgets. For widgets with large amounts of text, the consistency checks may cause a noticeable slow-down.

  不具合検査が是の時､文書部品の描画手順は大域変数 tk_textRedraw と tk_textRelayout を再描画された索引のリストに設定する｡これら変数の値は Tk の組試験により試験される｡ 　　 When debugging is turned on, the drawing routines of the text widget set the global variables tk_textRedraw and tk_textRelayout to the lists of indices that are redrawn. The values of these variables are tested by Tk's test suite.

pathName delete index1 ?index2 ...?
  文書から範囲の文字を削除する｡index1 と index2 の両方が指定されると index1 で与えられる文字から始まり index2 の手前(即ち､ index2 の位置の文字は削除されない)で終る全ての文字が消去される｡もし､ index2 が文書内の index1 より後の位置を指定しないと文字は何も削除されない｡もし index2 が指定されない場合 index1 の位置の一つの文字が削除される｡最後の文字が改行文字ではない文書を残す方法による文字の削除の試みは､text 部品が忌避する為に手直しされる｡特に､文書の末尾迄の文書の完全な行の削除も､削除される区域の直前の改行文字を削除するので､text 部品の新しい最後の改行によって置換えられる｡本命令は空文字列を返す｡もし､更なる索引が与えられていると文書の複数の範囲が削除されることになる｡何かの削除が行われる前に全ての索引は最初に適正か否かの検査が行われる｡それらは順に並べられ､最後の範囲から最初の範囲の順に取除かれ､それにより､削除された文書によって索引の移動による好ましくない副作用を引起さない｡もし､同じ出発位置の複数の範囲が与えられると､最長の範囲が使われる｡もし､重複した範囲が与えられると､削除の間の文書移動により与えられた範囲外の文書の削除が起らない様､それらは併合される｡ 　　 Delete a range of characters from the text. If both index1 and index2 are specified, then delete all the characters starting with the one given by index1 and stopping just before index2 (i.e. the character at index2 is not deleted). If index2 does not specify a position later in the text than index1 then no characters are deleted. If index2 is not specified then the single character at index1 is deleted. Attempts to delete characters in a way that would leave the text without a newline as the last character will be tweaked by the text widget to avoid this. In particular, deletion of complete lines of text up to the end of the text will also delete the newline character just before the deleted block so that it is replaced by the new final newline of the text widget. The command returns an empty string. If more indices are given, multiple ranges of text will be deleted. All indices are first checked for validity before any deletions are made. They are sorted and the text is removed from the last range to the first range so deleted text does not cause an undesired index shifting side-effects. If multiple ranges with the same start index are given, then the longest range is used. If overlapping ranges are given, then they will be merged into spans that do not cause deletion of text outside the given ranges due to text shifted during deletion.

pathName dlineinfo index
  index を含む表示行に占有される領域を記述する五要素のリストを返す｡最初の二つの要素は行に占有された領域の左上隅の x と y 座標であり､三番目と四番目の要素は領域の幅と高さを与える､第五要素は､行に関する基準線の､領域の頂上から下向きに測られた位置を与える｡全てのこの情報は画素で測定される｡もし､現在の折り畳み様式が none で､行が窓の境界を超えて伸びていると､領域は 窓の外になっている部位をも含んだ行の全体の領域を反映して返す｡もし行が窓全体の幅より短い場合､返される領域は文字と埋込み窓によって占有された行の部分が反映された領域である｡もし､表示行が画面上に可視ではない index を含んでいると､返される値は空リストである｡ 　　 Returns a list with five elements describing the area occupied by the display line containing index. The first two elements of the list give the x and y coordinates of the upper-left corner of the area occupied by the line, the third and fourth elements give the width and height of the area, and the fifth element gives the position of the baseline for the line, measured down from the top of the area. All of this information is measured in pixels. If the current wrap mode is none and the line extends beyond the boundaries of the window, the area returned reflects the entire area of the line, including the portions that are out of the window. If the line is shorter than the full width of the window then the area returned reflects just the portion of the line that is occupied by characters and embedded windows. If the display line containing index is not visible on the screen then the return value is an empty list.

pathName dump ?switches? index1 ?index2?
  文書部品の index1 から index2 の手前迄の､文書と､浮標､貼り札､埋込み窓に関する情報とを含む文書部品の内容を返す｡もし index2 が指定されないと index1 の一文字後が省略時設定になる｡情報は次の書式で返される: 　 Return the contents of the text widget from index1 up to, but not including index2, including the text and information about marks, tags, and embedded windows. If index2 is not specified, then it defaults to one character past index1. The information is returned in the following format:

  key1 value1 index1 key2 value2 index2 ...

  可能な key 値は text と mark と tagon と tagoff と image と window である｡相当する value は､文書か､浮標名か､貼り札名か､影像名か､窓名､である｡index 情報は､文書の開始位置か､浮標か､貼り札の端部か､影像か､窓､である｡吐出しを制御する為に､次に示す切替子(又はその略語)の内の一つ或はそれ以上が指定できる: 　 The possible key values are text, mark, tagon, tagoff, image, and window. The corresponding value is the text, mark name, tag name, image name, or window name. The index information is the index of the start of the text, mark, tag transition, image or window. One or more of the following switches (or abbreviations thereof) may be specified to control the dump:

  -all
    全ての要素に関する情報を返す: 文書と浮標と､貼り札と､影像と､窓｡省略時設定はこれになる｡ 　　 Return information about all elements: text, marks, tags, images and windows. This is the default.

  -command command
    吐出し操作の結果として情報を返す代りに､範囲内の文書部品のそれぞれの要素の命令を起動する｡命令は評価される前に三つの引数が追加される:鍵､値､索引｡ 　　 Instead of returning the information as the result of the dump operation, invoke the command on each element of the text widget within the range. The command has three arguments appended to it before it is evaluated: the key, value, and index.

  -image
    吐出し結果内に影像に関する情報を含む｡ 　　 Include information about images in the dump results.

  -mark
    吐出し結果内に浮標に関する情報を含む｡ 　　 Include information about marks in the dump results.

  -tag
    吐出し結果内に貼り札の端部に関する情報を含む｡貼り札情報はそれぞれの貼り札の範囲の初めと終りを指し示す tagon と tagoff 要素として返される｡ 　　 Include information about tag transitions in the dump results. Tag information is returned as tagon and tagoff elements that indicate the begin and end of each range of each tag, respectively.

  -text
    吐出し結果内に文書に関する情報を含む｡値は次の要素迄の文書か､ index2 で示される範囲の末尾迄の文書である｡文書要素は改行迄は拡がらない｡浮標や､貼り札端部を含まない複数行の区域の文書はそれでもそれぞれが改行で終わる文書断片の束として吐出される｡改行文字は値の一部である｡ 　　 Include information about text in the dump results. The value is the text up to the next element or the end of range indicated by index2. A text element does not span newlines. A multi-line block of text that contains no marks or tag transitions will still be dumped as a set of text segments that each end with a newline. The newline is part of the value.

  -window
    吐出し結果内に埋め込み窓に関する情報を含む｡窓の値は窓が未だ生成されていない限り｡その Tk 経路名である｡(生成記述譜がある筈である｡)この場合､空文字列が返される､又､更なる情報を得るためには索引位置により問合せなければならない｡ 　　 Include information about embedded windows in the dump results. The value of a window is its Tk pathname, unless the window has not been created yet. (It must have a create script.) In this case an empty string is returned, and you must query the window by its index position to get more information.

pathName edit option ?arg ...?
  この命令は､やり直しの仕組みと修正用旗印を制御する｡この命令の正確な振舞いは edit 引数に続く指示項目の引数に依存する｡次の命令の形式が現在運用されている:　 This command controls the undo mechanism and the modified flag. The exact behavior of the command depends on the option argument that follows the edit argument. The following forms of the command are currently supported:

  pathName edit canredo
    再実行が可能な場合論理真値を返す､即ち､再実行棚が空でない場合｡それ以外は偽値を返す｡ 　　 Returns a boolean true if redo is possible, i.e. when the redo stack is not empty. Otherwise returns false.

  pathName edit canundo
    実行取消が可能な場合､論理真値を返す､即ち､実行取消棚が空でない場合｡それ以外は偽値を返す｡ 　　 Returns a boolean true if undo is possible, i.e. when the undo stack is not empty. Otherwise returns false.

  pathName edit modified ?boolean?
    もし boolean が指定されないと､部品の修正旗標を返す｡挿入､削除､編集取消し､編集再実行命令や､使用者は､修正旗標を設定または解除できる｡もし boolean が指定されると､部品の修正旗標を boolean の論理値に設定する｡ 　　 If boolean is not specified, returns the modified flag of the widget. The insert, delete, edit undo and edit redo commands or the user can set or clear the modified flag. If boolean is specified, sets the modified flag of the widget to boolean.

  pathName edit redo
    且つ､ 再実行操作によって､どの領域が変更されるかを指し示す索引のリストを返す｡ 再実行棚が空の時は不都合が発生する｡-undo 指示項目が偽値の時は何もしない｡ 　　 When the -undo option is true, reapplies the last undone edits provided no other edits were done since then, and returns a list of indices indicating what ranges were changed by the redo operation. Generates an error when the redo stack is empty. Does nothing when the -undo option is false.

  pathName edit reset
    Clears the undo and redo stacks.

  pathName edit separator
    取消し棚上に区切り(境界)を挿入する｡-undo 指示項目が偽値の時は何もしない｡ 　　 Inserts a separator (boundary) on the undo stack. Does nothing when the -undo option is false.

  pathName edit undo
    指示項目が論理真値の時は最後の編集活動を取消し､ 且つ､ どの領域がやり直し操作によって変化されたかを示す､索引のリストを返す｡ 編集活動は､取消し棚の二つの区切りの間に記録された全ての挿入や削除命令として定義される｡取消し棚が空の時は不都合が発生する｡-undo 指示項目が偽値の時は何もしない｡ 　　 Undoes the last edit action when the -undo option is true, and returns a list of indices indicating what ranges were changed by the undo operation. An edit action is defined as all the insert and delete commands that are recorded on the undo stack in between two separators. Generates an error when the undo stack is empty. Does nothing when the -undo option is false.

pathName get ?-displaychars? ?--? index1 ?index2 ...?
  文書から文字範囲を返す｡返る値は､その索引が index1 の処で始まり､索引が index2 の処の手前までの全ての文字である( index2 の位置の文字は返されない)｡もし index2 が省略されると index1 の位置の一文字が返される｡もし指定した範囲に文字がないと(譬えば､index1 がファイル末尾より後になるとか､ index2 が index1 と等しいか小さいとか)空文字列が返される｡もし指定した範囲が埋込み窓を含む場合､それに関する情報は返される文字列には含まれない｡もし複数の索引対が与えられると文書の複数の範囲がリストに入って返される｡不適正な範囲はそのリスト内の空文字列では表されない｡返って来る範囲の順序は pathName get に渡した順になる｡もし､ -displaychars 指示項目が与えられるとそれぞれの範囲内の掩蔽されない文字だけが返される｡これは返される範囲の幾つかが空文字列になる効果を生じさせることがある｡ 　　 Return a range of characters from the text. The return value will be all the characters in the text starting with the one whose index is index1 and ending just before the one whose index is index2 (the character at index2 will not be returned). If index2 is omitted then the single character at index1 is returned. If there are no characters in the specified range (e.g. index1 is past the end of the file or index2 is less than or equal to index1) then an empty string is returned. If the specified range contains embedded windows, no information about them is included in the returned string. If multiple index pairs are given, multiple ranges of text will be returned in a list. Invalid ranges will not be represented with empty strings in the list. The ranges are returned in the order passed to pathName get. If the -displaychars option is given, then, within each range, only those characters which are not elided will be returned. This may have the effect that some of the returned ranges are empty strings.

pathName image option ?arg ...?
  この命令は埋込み影像を操作するために使われる｡命令の振舞いは､ image 引数に続く option 指示項目に依存する｡次の形式の命令が現在運用されている: 　　 This command is used to manipulate embedded images. The behavior of the command depends on the option argument that follows the image argument. The following forms of the command are currently supported:

  pathName image cget index option
    埋込み影像に対する構成設定指示項目の値を返す｡index は埋込み影像を認識し､ option は特定の構成設定指示項目を指定する､それは EMBEDDED IMAGES の節に列挙された内の一つでなければならない｡ 　　 Returns the value of a configuration option for an embedded image. Index identifies the embedded image, and option specifies a particular configuration option, which must be one of the ones listed in the section EMBEDDED IMAGES.

  pathName image configure index ?option value ...?
    埋込み影像に対する構成設定指示項目を問合せたり修正したりする｡もし option が指定されないと､ index にある埋込み影像のために利用できる全ての指示項目を記述したリストを返す(このリストの書式の情報については Tk_ConfigureInfo を参照されたい)｡もし value なしで option が指定されると､その名前の指示項目を記述したリストが返る(このリストは､ option を指定しない時に返るリストの部分リストになっている)｡もし､一つ或はそれ以上の option-value 対が指定されると､命令は､与えられた指示項目を与えられた値に修正する; この場合､命令は空文字列を返す｡運用されている指示項目の情報については EMBEDDED IMAGES を参照されたい｡ 　　 Query or modify the configuration options for an embedded image. If no option is specified, returns a list describing all of the available options for the embedded image at index (see Tk_ConfigureInfo for information on the format of this list). If option is specified with no value, then the command returns a list describing the one named option (this list will be identical to the corresponding sublist of the value returned if no option is specified). If one or more option-value pairs are specified, then the command modifies the given option(s) to have the given value(s); in this case the command returns an empty string. See EMBEDDED IMAGES for information on the options that are supported.

  pathName image create index ?option value ...?
    この命令は新しい影像注解を作成するそれは文書の index で与えられる位置に現れる｡幾つでも option-value 対が注解の構成設定に指定され得る｡唯一無二の識別子を返し､それは､この影像を参照する索引に使用できる｡運用されている指示項目の情報と､返される識別子の記述については EMBEDDED IMAGES を参照されたい｡ 　　 This command creates a new image annotation, which will appear in the text at the position given by index. Any number of option-value pairs may be specified to configure the annotation. Returns a unique identifier that may be used as an index to refer to this image. See EMBEDDED IMAGES for information on the options that are supported, and a description of the identifier returned.

  pathName image names
    窓に現在埋め込まれている全ての影像の即値の名前を要素に持つリストを返す｡ 　　 Returns a list whose elements are the names of all image instances currently embedded in window.

pathName index index
  index に相当する位置を line.char の形式で返す､ここで line は行番号､ char は文字番号である｡index は上の INDICES で述べられているどの形式を有してもよい｡ 　　 Returns the position corresponding to index in the form line.char where line is the line number and char is the character number. Index may have any of the forms described under INDICES above.

pathName insert index chars ?tagList chars tagList ...?
  文字 引数 chars 全部を index の位置にある文字の直前に挿入する｡もし位置 index が文書の末尾(最後の改行文字の直後の文字)を参照する場合､新しい文書は代りに最後の改行文字の前に挿入される｡もし､文字 引数 chars が一つで貼札リスト tagList なしであると､新しい文書は挿入位置の前の文字にも後の文字にも共に存在するどの様な貼り札も受入れる; もし､貼り札が両方の文字の片方だけに存在すると､このことは新しい文書に適用されない｡もし貼札リスト tagList が指定されると､それは貼り札の名前のリストで構成される; 新しい文字はこのリスト内の全ての貼り札を受入れそれ以外は受入れない､又､挿入位置の周りにある貼り札は考慮されない｡もし複数の文字-貼札リスト 引数対が存在すると､恰もそれぞれの対を有する別々の pathName insert 命令が発行されたと同じ効果を発生する｡最後の貼札リスト 引数 は省略されることがある｡ 　 Inserts all of the chars arguments just before the character at index. If index refers to the end of the text (the character after the last newline) then the new text is inserted just before the last newline instead. If there is a single chars argument and no tagList, then the new text will receive any tags that are present on both the character before and the character after the insertion point; if a tag is present on only one of these characters then it will not be applied to the new text. If tagList is specified then it consists of a list of tag names; the new characters will receive all of the tags in this list and no others, regardless of the tags present around the insertion point. If multiple chars-tagList argument pairs are present, they produce the same effect as if a separate pathName insert widget command had been issued for each pair, in order. The last tagList argument may be omitted.

pathName mark option ?arg ...?
  この命令は浮標を操作するために使われる｡命令の正確な振舞いは､ mark 引数に続く option 指示項目に依存する｡次の形式の命令が現在運用されている: 　　 This command is used to manipulate marks. The exact behavior of the command depends on the option argument that follows the mark argument. The following forms of the command are currently supported:

  pathName mark gravity markName ?direction?
    もし direction が指定されないと､隣接しているどちらの文字に浮標が付いているかを指し示す left か right を返す｡もし､ direction が指定される場合それは left か right でなければならない; markName の重心は与えられた値に設定される｡ 　　 If direction is not specified, returns left or right to indicate which of its adjacent characters markName is attached to. If direction is specified, it must be left or right; the gravity of markName is set to the given value.

  pathName mark names
    現在設定されている全ての浮標の名前を要素とするリストを返す｡ 　　 Returns a list whose elements are the names of all the marks that are currently set.

  pathName mark next index
    index の位置かその後の位置かにある次の浮標の名前を返す｡もし index が数字の形式で指定されるとその位置から次の浮標が捜索される｡もし index が浮標の名前であると､浮標の直後から捜索が始まる｡同じ位置に複数の浮標がある場合､同じ位置の浮標が返ることがある｡この意味論の内容は､ mark next 操作は文書部品中の全ての浮標を､ pathName dump 操作によって返って来る浮標の情報と同じ順序で通り貫けることに使用できることを意味する｡もし､浮標が特別な end 索引に設定されていると､それはpathName mark next 操作に関して end の後に現れることになる｡index の後に浮標がないと空文字列が返される｡ 　　 Returns the name of the next mark at or after index. If index is specified in numerical form, then the search for the next mark begins at that index. If index is the name of a mark, then the search for the next mark begins immediately after that mark. This can still return a mark at the same position if there are multiple marks at the same index. These semantics mean that the mark next operation can be used to step through all the marks in a text widget in the same order as the mark information returned by the pathName dump operation. If a mark has been set to the special end index, then it appears to be after end with respect to the pathName mark next operation. An empty string is returned if there are no marks after index.

  pathName mark previous index
    index の位置かその前の位置かにある浮標の名前を返す｡もし index が数字の形式で指定されるとその位置の手前から前の浮標が捜索される｡もし index が浮標の名前であると､その浮標の直前から捜索が始まる｡同じ位置に複数の浮標がある場合､同じ位置の浮標が返ることがある｡この意味論の内容は､ pathName mark previous 操作は文書部品中の全ての浮標を､ pathName dump 操作によって返って来る浮標の情報の逆の順序で文書部品内を通り貫けることに使用できることを意味する｡index の前に浮標がないと空文字列が返される｡ 　　 Returns the name of the mark at or before index. If index is specified in numerical form, then the search for the previous mark begins with the character just before that index. If index is the name of a mark, then the search for the next mark begins immediately before that mark. This can still return a mark at the same position if there are multiple marks at the same index. These semantics mean that the pathName mark previous operation can be used to step through all the marks in a text widget in the reverse order as the mark information returned by the pathName dump operation. An empty string is returned if there are no marks before index.

  pathName mark set markName index
    名前が markName の浮標を index の位置の文字の直前の位置に設定する｡もし markName が既に存在すると､それが古い位置から移動する; もし実在しないと新しい浮標が作成される｡この命令は空文字列を返す｡ 　　 Sets the mark named markName to a position just before the character at index. If markName already exists, it is moved from its old position; if it does not exist, a new mark is created. This command returns an empty string.

  pathName mark unset markName ?markName markName ...?
    それぞれの markName 引数に相当する浮標が取除かれる｡取除かれた浮標はその位置では使用できなくなり､その後の “pathName mark names” 呼出しでは返って来なくなる｡この命令は空文字列を返す｡ 　　 Remove the mark corresponding to each of the markName arguments. The removed marks will not be usable in indices and will not be returned by future calls to “pathName mark names”. This command returns an empty string.

pathName peer option args
  この命令は部品の眷属を生成したり問合せたりに使用する｡それには､ option により二つの形式がある: 　　 This command is used to create and query widget peers. It has two forms, depending on option:

  pathName peer create newPathName ?options?
    与えられた newPathName を使って､又､どれかの標準構成設定指示項目(文書部品の為の如く)によって眷属文書部品を生成する｡省略時設定では眷属は親部品と同じ開始行と終了行を有するが､これは標準構成設定指示項目で上書きできる｡ 　　 Creates a peer text widget with the given newPathName, and any optional standard configuration options (as for the text command). By default the peer will have the same start and end line as the parent widget, but these can be overridden with the standard configuration options.

  pathName peer names
    この部品の眷属のリストを返す(これは部品そのものは含まない)｡このリスト内の順序は定義されない｡ 　　 Returns a list of peers of this widget (this does not include the widget itself). The order within this list is undefined.

pathName pendingsync
  行高さ計算が更新されていないと 1 を返し､それ以外は 0 を返す｡ 　　 Returns 1 if the line heights calculations are not up-to-date, 0 otherwise.

pathName replace index1 index2 chars ?tagList chars tagList ...?
  index1 と index2 の間の範囲の文字を与えられた文字と貼り札で置換える｡tagList... 引数の処理方法の説明は pathName insert の項を参照されたい､又､索引位置の処理の説明は pathName delete の項を参照されたい｡もし index2 が部品内で指す位置が index1 より前であると不都合が生成する｡ 　　 Replaces the range of characters between index1 and index2 with the given characters and tags. See the section on pathName insert for an explanation of the handling of the tagList... arguments, and the section on pathName delete for an explanation of the handling of the indices. If index2 corresponds to an index earlier in the text than index1, an error will be generated.

  削除と挿入は､窓の不必要な摺動や挿入遊走子の移動が起らないように手配される｡もし取消し操作が文書部品内で有効の場合､取消し/再実行棚への追加は適正に修正される｡この命令は空文字列を返す｡ 　　 The deletion and insertion are arranged so that no unnecessary scrolling of the window or movement of insertion cursor occurs. In addition the undo/redo stack are correctly modified, if undo operations are active in the text widget. The command returns an empty string.

pathName scan option args
  この命令は文書上の走査の実装に使用される｡それには､ option により二つの形式がある: 　　 This command is used to implement scanning on texts. It has two forms, depending on option:

  pathName scan mark x y
    文書窓内の x と y と現在の視野を記録する､後に pathName scan dragto 命令と一緒に使用する為のもの｡典型的にはこの命令は部品内のマウス釦押下と組合す｡この命令は空文字列を返す｡ 　　 Records x and y and the current view in the text window, for use in conjunction with later pathName scan dragto commands. Typically this command is associated with a mouse button press in the widget. It returns an empty string.

  pathName scan dragto x y
    この命令は､部品について x と y 引数と最前の pathName scan mark 命令の x と y 引数との距離を計算する｡次に座標の１０倍の距離に視野を調節する｡この命令は典型的には部品内のマウス移動行事に結合している､窓を通して高速で文書を引っ張る効果を産出す｡返る値は空文字列である｡ 　　 This command computes the difference between its x and y arguments and the x and y arguments to the last pathName scan mark command for the widget. It then adjusts the view by 10 times the difference in coordinates. This command is typically associated with mouse motion events in the widget, to produce the effect of dragging the text at high speed through the window. The return value is an empty string.

pathName search ?switches? pattern index ?stopIndex?
  pattern に合致する文字の範囲を求めて pathName 内の文書を index の箇所から捜索する｡もし､合致が見付かると､合致の最初の文字の位置が結果として返される; 見付からないと､空文字列が返される｡一つ或はそれ以上の切り替え指示項目(又は､その短縮形)が続き､捜索を制御するかもしれない: 　　　 Searches the text in pathName starting at index for a range of characters that matches pattern. If a match is found, the index of the first character in the match is returned as result; otherwise an empty string is returned. One or more of the following switches (or abbreviations thereof) may be specified to control the search:

  -forwards
    捜索は文書を順方向に処理する､ index によって与えられる位置及びその後の範囲から最初の合致を見付ける｡これは省略時設定｡ 　　 The search will proceed forward through the text, finding the first matching range starting at or after the position given by index. This is the default.

  -backwards
    捜索は文書を逆順に処理する､その最初の文字が index の前になり index に近い範囲から､最初の合致を見付ける( index の位置は許容されない)｡註意すべきは､種々の理由により､逆方向捜索は順方向の捜索に較べ本質的に遅いことがある(特に正規表現を使用する場合)､そこで､出来ばえが厳しい場合は順方向捜索の使用を推奨する｡ 　　 The search will proceed backward through the text, finding the matching range closest to index whose first character is before index (it is not allowed to be at index). Note that, for a variety of reasons, backwards searches can be substantially slower than forwards searches (particularly when using -regexp), so it is recommended that performance-critical code use forward searches.

  -exact
    正確な合致を使用する: 合致範囲は pattern と同一でなければならない｡これは省略時設定｡ 　　 Use exact matching: the characters in the matching range must be identical to those in pattern. This is the default.

  -regexp
    pattern を正規表現として扱い､それを文書に対して正規表現式の規則を使って合致する(詳細は regexp 命令と正規表現re_syntaxを参照されたい)｡省略時設定の合致は自動的に -lineanchor と -linestop 指示項目を正規表現機能に送る( -nolinestop が使われない限り)､そこで ^$ は行頭と行末に合致し､ ., [^ の並びは改行文字 \n に合致することはない｡ 　　 Treat pattern as a regular expression and match it against the text using the rules for regular expressions (see the regexp command and the re_syntax page for details). The default matching automatically passes both the -lineanchor and -linestop options to the regexp engine (unless -nolinestop is used), so that ^$ match beginning and end of line, and ., [^ sequences will never match the newline character \n.

  -nolinestop
    これは . と [^ の並びを改行文字 \n に合致することを許容し､それ以外は何もしない(詳細はregexpを参照されたい)｡この指示項目は､同時に -regexp が与えられている時のみ意味があり､それ以外では不都合が発信される｡譬えば､文書全体に合致する為には “pathName search -nolinestop -regexp ".*" 1.0” を使う｡ 　　 This allows . and [^ sequences to match the newline character \n, which they will otherwise not do (see the regexp command for details). This option is only meaningful if -regexp is also given, and an error will be thrown otherwise. For example, to match the entire text, use “pathName search -nolinestop -regexp ".*" 1.0”.

  -nocase
    Ignore case differences between the pattern and the text.

  -count varName
    -count に続く引数は変数の名前を与える; もし合致が見付かると､合致の範囲の初めと終りの間の索引の位置の数が変数に保存される｡もし､合致した範囲に埋込まれた影像や窓がない場合(且つ､もし-elide が与えられない場合､掩蔽文字もない場合)､これは合致した文字の数と等価である｡両方の場合とも､ matchIdx から matchIdx + $count chars の範囲は合致した文書全体を返す｡ 　　 The argument following -count gives the name of a variable; if a match is found, the number of index positions between beginning and end of the matching range will be stored in the variable. If there are no embedded images or windows in the matching range (and there are no elided characters if -elide is not given), this is equivalent to the number of characters matched. In either case, the range matchIdx to matchIdx + $count chars will return the entire matched text.

  -all
    与えられた範囲内の全ての合致を見付けてそれぞれの合致の最初の文字の位置のリストを返す｡もし -countvarName 切替え機能が与えられると varName もそれぞれの継続した一つの要素を含むリストを設定する｡註意すべきは､たとえ､正確合致の捜索であっても､もし埋め込まれた影像､窓､隠蔽された文書が存在するとこのリストの要素は異なるかもしれない｡-all を伴う捜索の振舞いは Tcl 命令の regexp -all に非常によく似ている､その中の重複合致は通常返されない｡譬えば “hello there” に対する “\w+” 模様捜索に -all を適用すると丁度二回､一度ずつそれぞれの語に合致する､又､ “Z[a-z]+Z” は “ZooZooZoo” に対し一度合致する｡ 　　 Find all matches in the given range and return a list of the indices of the first character of each match. If a -count varName switch is given, then varName is also set to a list containing one element for each successful match. Note that, even for exact searches, the elements of this list may be different, if there are embedded images, windows or hidden text. Searches with -all behave very similarly to the Tcl command regexp -all, in that overlapping matches are not normally returned. For example, applying an -all search of the pattern “\w+” against “hello there” will just match twice, once for each word, and matching “Z[a-z]+Z” against “ZooZooZoo” will just match once.

  -overlap
    -all 指定の捜索を遂行する時､通常の挙動は既に見付けた合致に重複しては合致を返さない｡この切替え機能は挙動を変更し､全ての合致で､他の合致が返した範囲が囲い込まれてしまうことはない｡譬えば “hello there” に対する “\w+” 模様捜索に -overlap を適用すると､二回合致する(即ち､ -allと変わらない)､ “Z[a-z]+Z” の “ZooZooZoo” に対する合致は二回合致する｡この切替え機能が -all なしに使われると不都合が発信される｡ 　　 When performing -all searches, the normal behaviour is that matches which overlap an already-found match will not be returned. This switch changes that behaviour so that all matches which are not totally enclosed within another match are returned. For example, applying an -overlap search of the pattern “\w+” against “hello there” will just match twice (i.e. no different to just -all), but matching “Z[a-z]+Z” against “ZooZooZoo” will now match twice. An error will be thrown if this switch is used without -all.

  -strictlimits
    どのような捜索を遂行する時も､始と終りの限界は合致文書の開始位置を基準に検査されるのが通常の挙動である｡-strictlimits 旗標を伴うと､全体の合致範囲は合致が適正である為に指定された始と終りの限界の内側になければならない｡ 　　 When performing any search, the normal behaviour is that the start and stop limits are checked with respect to the start of the matching text. With the -strictlimits flag, the entire matching range must lie inside the start and stop limits specified for the match to be valid.

  -elide
    掩蔽(隠蔽)文書を同じように見付ける｡省略時設定では表示された文書のみ捜索される｡ 　　 Find elided (hidden) text as well. By default only displayed text is searched.

  --
    この切替え機能は切替え機能のリストを終らせる以外の効果はない: 次の引数は縦え - で 始まっても pattern として取り扱う｡ 　　 This switch has no effect except to terminate the list of switches: the next argument will be treated as pattern even if it starts with -.

  合致幅は文書の一つの行内かもしれない､または､(もし､模様の一部が改行文字と合致可能ならば)複数行に跨るかもしれない｡正規表現式の合致については､種々の行替えの特性が利用できる､譬えば ､$ を行末に合致する､又は､ ^ を行頭に合致する､更には､ . が行替えに合致することが許容されることを制御する｡もし､ stopIndex が指定されると､捜索は索引の箇所で停止する: 更に前方に進むには stopIndex の位置かその後で合致しないよう考慮しておく; 逆向きの捜索では､ stopIndex の位置より前に合致しないよう考慮しておくことである｡もし､ stopIndex が省略されると､文書全体が捜索される: 文頭又は文末に到達すると､開始位置に再び届く迄､もう一つの端末から捜索を開始する｡これは､譬えば､もし､捜索が -forwards で stopIndex が startIndex よりも文書の前の方であると､何も見付けれない､ことを意味する｡pathName search command の細かな制約については､下の KNOWN BUGS を参照されたい｡ 　　 The matching range may be within a single line of text, or run across multiple lines (if parts of the pattern can match a new-line). For regular expression matching one can use the various newline-matching features such as $ to match the end of a line, ^ to match the beginning of a line, and to control whether . is allowed to match a new-line. If stopIndex is specified, the search stops at that index: for forward searches, no match at or after stopIndex will be considered; for backward searches, no match earlier in the text than stopIndex will be considered. If stopIndex is omitted, the entire text will be searched: when the beginning or end of the text is reached, the search continues at the other end until the starting location is reached again; if stopIndex is specified, no wrap-around will occur. This means that, for example, if the search is -forwards but stopIndex is earlier in the text than startIndex, nothing will ever be found. See KNOWN BUGS below for a number of minor limitations of the pathName search command.

pathName see index
  視野を調節し index で与えられた文字を完全に可視にする｡もし､ index が既に可視であるとこの命令は何もしない｡もし､ index が短い距離だけ視野から離れていると､命令は index を窓の端に可視になるよう調節する｡もし､ index が長い距離､視野から離れていると､命令は index を窓の中央にする｡ 　　 Adjusts the view in the window so that the character given by index is completely visible. If index is already visible then the command does nothing. If index is a short distance out of view, the command adjusts the view just enough to make index visible at the edge of the window. If index is far out of view, then the command centers index in the window.

pathName sync ?-command command?
  文書部品の外観の同期を制御する｡ 　　 Controls the synchronization of the view of the text widget.

  pathName sync
    何かの期限切れの行高さの計算を強制することにより､すぐさま､行尺度の更新を行う｡本命令はこのような期限切れ行高さがない場合はすぐさま帰るが､そうでない場合､計算終了のときにのみ帰る｡本命令は空文字列を返す｡ 　　 Immediately brings the line metrics up-to-date by forcing computation of any outdated line heights. The command returns immediately if there is no such outdated line heights, otherwise it returns only at the end of the computation. The command returns an empty string.

  pathName sync -command command
    (行事巡回により)実行されるべき command を､全ての行高さが更新された後直ぐに正確に一回段取りする｡もし､仕掛かりの行の尺度計算が無い場合､段取りはすぐさま実行される｡本命令は空文字列を返す｡命令が不都合になると bgerror が呼出される｡ 　　 Schedules command to be executed (by the event loop) exactly once as soon as all line heights are up-to-date. If there are no pending line metrics calculations, the scheduling is immediate. The command returns the empty string. bgerror is called on command failure.

pathName tag option ?arg ...?
  この命令は貼り札を操作するために使われる｡命令の正確な振舞いは､ tag 引数に続く option 指示項目に依存する｡次の形式の命令が現在運用されている: 　　 This command is used to manipulate tags. The exact behavior of the command depends on the option argument that follows the tag argument. The following forms of the command are currently supported:

  pathName tag add tagName index1 ?index2 index1 index2 ...?
    貼り札 tagName を開始位置 index1 から終り位置 index2 の手前迄の全ての文字に結合する( index2 の箇所の文字は貼り札されない)｡一つの命令に幾つでも index1-index2 対を含ませてもよい｡もし最後の index2 が省略されると､ index1 の箇所の一文字に貼り札される｡もし､指定した範囲に文字がないと(譬えば､ index1 がファイル末を過ぎているか､ index2 が index1 より小さい)､この命令はなにも効果を有さない｡ 　　 Associate the tag tagName with all of the characters starting with index1 and ending just before index2 (the character at index2 is not tagged). A single command may contain any number of index1-index2 pairs. If the last index2 is omitted then the single character at index1 is tagged. If there are no characters in the specified range (e.g. index1 is past the end of the file or index2 is less than or equal to index1) then the command has no effect.

  pathName tag bind tagName ?sequence? ?script?
    この命令は script と tagName で与えられる貼り札とを結合する｡何時であれ､ tagName によって貼り札された文字に関して､ sequence によって与えられる行事並びが生じると､記述譜が起動される｡この部品命令は bind 命令と似ている､違いはそれが文書部品全体ではなく文書内の文字上で操作される事である｡ sequence の構文と起動される前に script になされる置換の完全な詳細については取扱説明書の bind の見出しを参照されたい｡もし､全ての引数が指定されると新しい束縛が生成され､同じ sequence と tagName に対する既存のどれでもと置換えられる(もし､ script の最初の文字が “+” であると､置換えではなく､既存の束縛に script が増加される)｡この場合返る値は空文字列である｡もし script が省略されるとこの命令は tagName と sequence に結合している script を返す(このような束縛がないと不都合が生じる)｡もし script と sequence の両方が省略されると､ tagName に対して定義された全ての束縛の並びのリストを返す｡ 　　 This command associates script with the tag given by tagName. Whenever the event sequence given by sequence occurs for a character that has been tagged with tagName, the script will be invoked. This widget command is similar to the bind command except that it operates on characters in a text rather than entire widgets. See the bind manual entry for complete details on the syntax of sequence and the substitutions performed on script before invoking it. If all arguments are specified then a new binding is created, replacing any existing binding for the same sequence and tagName (if the first character of script is “+” then script augments an existing binding rather than replacing it). In this case the return value is an empty string. If script is omitted then the command returns the script associated with tagName and sequence (an error occurs if there is no such binding). If both script and sequence are omitted then the command returns a list of all the sequences for which bindings have been defined for tagName.

    束縛が指定できる行事は( Enter か Leave か Button か Motion か Key の様な)マウスと鍵盤に関係があるものか仮想行事だけである｡文書部品に対するマウスと鍵盤行事の束縛は､それぞれ前項の MARKS で記述された current と insert の浮標を使用する｡ Enter 行事は､貼り札が初めに現在の文字に存在した時に貼り札の為に起動される､又貼り札の Leave 行事はそれが現在の文字の上にあることを止めた時に起動される｡Enter と Leave 行事は両方とも､ current 浮標が移動したこと､又はその位置の文字が変化したことの理由で生じ得る｡註意すべきは､これらの行事は､窓に対する Enter や Leave 行事とは異なることである｡マウス行事は現在の文字に送られるが､一方､鍵盤行事は､挿入文字に送られる｡もし仮想行事が束縛内に遣われると､その束縛は､仮想行事がマウスに関連か鍵盤に関連かの行事に基づいて定義されている場合にのみ起動される｡ 　　 The only events for which bindings may be specified are those related to the mouse and keyboard (such as Enter, Leave, Button, Motion, and Key) or virtual events. Mouse and keyboard event bindings for a text widget respectively use the current and insert marks described under MARKS above. An Enter event triggers for a tag when the tag first becomes present on the current character, and a Leave event triggers for a tag when it ceases to be present on the current character. Enter and Leave events can happen either because the current mark moved or because the character at that position changed. Note that these events are different than Enter and Leave events for windows. Mouse events are directed to the current character, while keyboard events are directed to the insert character. If a virtual event is used in a binding, that binding can trigger only if the virtual event is defined by an underlying mouse-related or keyboard-related event.

    現在の文字にとって複数の貼り札を有することと､それぞれに対して､特定の行事並びに対して束縛を有することは可能である｡これが生じた時､それぞれの貼り札の一つの束縛が､低いものから高いものへの優先順位に従って起動される｡もし一つの貼り札に複数の束縛があると､最も特徴的な束縛が選ばれる(詳細は取扱説明書の束縛の見出しを参照されたい)｡束縛記述譜内の continue と break 命令は bind 命令を使って作成した束縛と同じ方法で処理される｡ 　　 It is possible for the current character to have multiple tags, and for each of them to have a binding for a particular event sequence. When this occurs, one binding is invoked for each tag, in order from lowest-priority to highest priority. If there are multiple matching bindings for a single tag, then the most specific binding is chosen (see the manual entry for the bind command for details). continue and break commands within binding scripts are processed in the same way as for bindings created with the bind command.

    もし束縛が bind 命令を使って部品全体として作成された場合､この束縛は貼り札束縛の補足をする｡貼り札束縛が最初に起動され､ついで窓全体の束縛が続く｡ 　　 If bindings are created for the widget as a whole using the bind command, then those bindings will supplement the tag bindings. The tag bindings will be invoked first, followed by bindings for the window as a whole.

  pathName tag cget tagName option
    この命令は tagName によって与えられる貼り札に結合した名前が option の指示項目の現在の値を返す｡option は pathName tagconfigure widget 部品命令に受入れられるどの様な値をも持ちうる｡ 　　 This command returns the current value of the option named option associated with the tag given by tagName. Option may have any of the values accepted by the pathName tag configure widget command.

  pathName tag configure tagName ?option? ?value? ?option value ...?
    この命令は pathName configure 部品命令に似ており､違いは､文書部品全体に対する指示項目を修正するのではなく､ tagName によって与えられる貼り札に結合した指示項目を修正することである｡もし option が指定されないとこの命令は､ tagName に対して利用できる全ての指示項目を記述したリストを返す(そのリストの書式の情報については Tk_ConfigureInfo を参照されたい)｡もし value なしで option が指定されると､本命令は option の名前のものを記述したリストを返す(このリストは option の指定なしで返った値の該当箇所の小リストに等しい)｡もし､一つ或はそれ以上の option-value 対が指定されると､命令は､与えられた指示項目を与えられた値に修正する; この場合､命令は空文字列を返す｡貼り札に対する利用できる指示項目の詳細は上の TAGS を参照されたい｡ 　　 This command is similar to the pathName configure widget command except that it modifies options associated with the tag given by tagName instead of modifying options for the overall text widget. If no option is specified, the command returns a list describing all of the available options for tagName (see Tk_ConfigureInfo for information on the format of this list). If option is specified with no value, then the command returns a list describing the one named option (this list will be identical to the corresponding sublist of the value returned if no option is specified). If one or more option-value pairs are specified, then the command modifies the given option(s) to have the given value(s) in tagName; in this case the command returns an empty string. See TAGS above for details on the options available for tags.

  pathName tag delete tagName ?tagName ...?
    tagName 引数のそれぞれに対する貼り札の情報を削除する｡この命令はファイル内の全ての文字から貼り札を取去り､束縛と表示情報の様な､貼り札に結合したどの情報も同じく削除する｡ 　　 Deletes all tag information for each of the tagName arguments. The command removes the tags from all characters in the file and also deletes any other information associated with the tags, such as bindings and display information. The command returns an empty string.

  pathName tag lower tagName ?belowThis?
    貼り札 tagName の優先順位を変更し､それを､名前が belowThis の貼り札の直ぐ下の優先順位にする｡もし belowThis が省略されていると､ tagName の優先順位は変更され全ての貼り札の最低の優先順位になる｡ 　　 Changes the priority of tag tagName so that it is just lower in priority than the tag whose name is belowThis. If belowThis is omitted, then tagName's priority is changed to make it lowest priority of all tags.

  pathName tag names ?index?
    index で与えられる位置の文字での全ての活性な貼り札の名前を要素とするリストを返す｡もし index が省略されると､文書の為に実在している全ての貼り札を記述している値を返す(これは､ “pathName tag” 部品命令内で名前付けられた全ての貼り札の内､たとえどの文字も現在貼り札に印されてなくとも､ “pathName tag delete” 部品命令では削除されないものを含む)｡このリストは低い優先順位から高い優先順位の順に整列されている｡ 　　 Returns a list whose elements are the names of all the tags that are active at the character position given by index. If index is omitted, then the return value will describe all of the tags that exist for the text (this includes all tags that have been named in a “pathName tag” widget command but have not been deleted by a “pathName tag delete” widget command, even if no characters are currently marked with the tag). The list will be sorted in order from lowest priority to highest priority.

  pathName tag nextrange tagName index1 ?index2?
    この命令は文書から tagName が貼り札された文字の範囲を捜す､茲で､その範囲の初めの文字は index1 の箇所の文字より前ではなく､ index2 の手前の文字よりも後方ではない( index2 で始まる範囲は考慮されない)｡もし､幾つもの合致範囲があると､最初のものが選ばれる｡この命令の返り値は二つの要素を含むリストである､要素は範囲の最初の文字の位置と範囲の末尾の一つ後の文字の位置である｡もし､合致する範囲が見付からないと､返り値は空文字列である｡もし､ index2 が与えられないと省略時設定は文書の末尾である｡ 　　 This command searches the text for a range of characters tagged with tagName where the first character of the range is no earlier than the character at index1 and no later than the character just before index2 (a range starting at index2 will not be considered). If several matching ranges exist, the first one is chosen. The command's return value is a list containing two elements, which are the index of the first character of the range and the index of the character just after the last one in the range. If no matching range is found then the return value is an empty string. If index2 is not given then it defaults to the end of the text.

  pathName tag prevrange tagName index1 ?index2?
    この命令は､貼り札 tagName が張られた文字の範囲を求めて文書を捜索する､ここで､その範囲の最初の文字は index1 の文字より前方で､且つ､ index2 の文字より前方ではない( index2 から始まる範囲は考慮される)｡もし幾つもの合致範囲が存在すると､ index1 に最も近いものが選択される｡この命令の返す値は二つの要素を持つリストであって､範囲の最初の文字の位置と､範囲の末尾の文字の直後の文字の位置である｡もし合致する範囲が見付からない場合は返り値は空文字列である｡もし､ index2 が与えられないと省略時設定は文書の先頭である｡ 　 This command searches the text for a range of characters tagged with tagName where the first character of the range is before the character at index1 and no earlier than the character at index2 (a range starting at index2 will be considered). If several matching ranges exist, the one closest to index1 is chosen. The command's return value is a list containing two elements, which are the index of the first character of the range and the index of the character just after the last one in the range. If no matching range is found then the return value is an empty string. If index2 is not given then it defaults to the beginning of the text.

  pathName tag raise tagName ?aboveThis?
    貼り札 tagName の優先順位を変え､名前が aboveThis の貼り札の直ぐ上の優先順位にする｡もし aboveThis が省略されると tagName の優先順位は全ての貼り札の最高の優先順位に変更させる｡ 　　 Changes the priority of tag tagName so that it is just higher in priority than the tag whose name is aboveThis. If aboveThis is omitted, then tagName's priority is changed to make it highest priority of all tags.

  pathName tag ranges tagName
    文書から tagName が貼り札された文書の範囲を全て記述しているリストを返す｡リストの最初の二つの要素は文書の最初の貼り札された範囲を記述し､次の二つの要素は第二の範囲を記述し､以下同様である｡それぞれの対の最初の要素は範囲の初めの文字の位置を含み､対の第二の要素は範囲の末尾の文字の直ぐ次の文字の位置を含む｡もし tag に貼り札された文字がないと空文字列が返される｡ 　　 Returns a list describing all of the ranges of text that have been tagged with tagName. The first two elements of the list describe the first tagged range in the text, the next two elements describe the second range, and so on. The first element of each pair contains the index of the first character of the range, and the second element of the pair contains the index of the character just after the last one in the range. If there are no characters tagged with tag then an empty string is returned.

  pathName tag remove tagName index1 ?index2 index1 index2 ...?
    index1 の位置で始まり index2 の直前で終る全ての文字から貼り札 tagName を取去る( index2 の位置の文字は影響を受けない)｡一つの命令に幾つでも index1-index2 対が含まれる｡もし最後の index2 が省略されると貼り札は､ index1 の一文字から取去られる｡指定した範囲(譬えば､ index1 が ファイル末を過ぎているか､ index2 が index1 より小さい)に文字がないと命令は効果がない｡この命令は空文字列を返す｡ 　　 Remove the tag tagName from all of the characters starting at index1 and ending just before index2 (the character at index2 is not affected). A single command may contain any number of index1-index2 pairs. If the last index2 is omitted then the tag is removed from the single character at index1. If there are no characters in the specified range (e.g. index1 is past the end of the file or index2 is less than or equal to index1) then the command has no effect. This command returns an empty string.

pathName window option ?arg ...?
  この命令は埋込み窓を操作するために使われる｡命令の正確な振舞いは､ window 引数に続く option 指示項目に依存する｡次の形式の命令が現在運用されている: 　　 This command is used to manipulate embedded windows. The behavior of the command depends on the option argument that follows the window argument. The following forms of the command are currently supported:

  pathName window cget index option
    この命令は埋め込まれた窓について構成設定指示項目の値を返す｡ index は埋め込まれた窓を識別し､ option は特定の構成設定指示項目を指定し､それは EMBEDDED WINDOWS の節内で列挙された内の一つでなくてはならない｡ 　　 Returns the value of a configuration option for an embedded window. Index identifies the embedded window, and option specifies a particular configuration option, which must be one of the ones listed in the section EMBEDDED WINDOWS.

  pathName window configure index ?option value ...?
    埋め込み窓の構成設定指示項目の値を問合せ又は修正する｡もし option が指定されていないと､埋め込み窓についての利用可能な全ての指示項目を記述したリストを返す(このリストの書式の情報については Tk_ConfigureInfo を参照されたい)｡もし value なしで option が指定されると､本命令は option の名前のものを記述したリストを返す(このリストは option の指定なしで返った値の該当箇所の小リストに等しい)｡もし､一つ或はそれ以上の option-value 対が指定されると､命令は､与えられた指示項目を与えられた値に修正する; この場合､命令は空文字列を返す｡option で与えられた現在の構成設定の値を返す｡運用されている指示項目の情報については EMBEDDED WINDOWS を参照されたい｡ 　　 Query or modify the configuration options for an embedded window. If no option is specified, returns a list describing all of the available options for the embedded window at index (see Tk_ConfigureInfo for information on the format of this list). If option is specified with no value, then the command returns a list describing the one named option (this list will be identical to the corresponding sublist of the value returned if no option is specified). If one or more option-value pairs are specified, then the command modifies the given option(s) to have the given value(s); in this case the command returns an empty string. See EMBEDDED WINDOWS for information on the options that are supported.

  pathName window create index ?option value ...?
    この命令は新しい窓の注解を作成する､それは文書内の index 与えられた位置に現れる｡注解を構成設定する為に幾つでも option-value 対を指定できる｡運用されている指示項目の情報については EMBEDDED WINDOWS を参照されたい｡空文字列を返す｡ 　　 This command creates a new window annotation, which will appear in the text at the position given by index. Any number of option-value pairs may be specified to configure the annotation. See EMBEDDED WINDOWS for information on the options that are supported. Returns an empty string.

  pathName window names
    現在 window 内に埋め込まれた全ての窓の名前を要素とするリストを返す｡ 　　 Returns a list whose elements are the names of all windows currently embedded in window.

pathName xview option args
  この命令は部品窓内の文書の水平位置の問合せと変更に使われる｡次のいずれかの形式をとる: 　　 This command is used to query and change the horizontal position of the text in the widget's window. It can take any of the following forms:

  pathName xview
    二つの要素からなるリストを返す｡それぞれの要素は 0 と 1 の間の実数小数であり ; 一緒になって､文章の水平の拡がりの内の､窓中の可視部を記述する｡譬えば第一要素が .2 ､第二要素が .6 であると､文書の領域の20% が左側に画面外にあり､中央 40% が窓中の可視であり､文書の 40% が右側に画面外にある｡比率は実際に窓内に可視の行のみを参照している: もし窓内の行が全て非常に短いと､縦え文書内に窓の幅より広い他の行があっても､全体が可視になり､返る少数は 0 と 1 になる｡これは -xscrollcommand 指示項目を経由して摺動盤に送られる値と同じである｡ 　　 Returns a list containing two elements. Each element is a real fraction between 0 and 1; together they describe the portion of the document's horizontal span that is visible in the window. For example, if the first element is .2 and the second element is .6, 20% of the text is off-screen to the left, the middle 40% is visible in the window, and 40% of the text is off-screen to the right. The fractions refer only to the lines that are actually visible in the window: if the lines in the window are all very short, so that they are entirely visible, the returned fractions will be 0 and 1, even if there are other lines in the text that are much wider than the window. These are the same values passed to scrollbars via the -xscrollcommand option.

  pathName xview moveto fraction
    文書の水平幅の fraction を左画面外になるよう窓内の視野を調節する｡fraction は 0 と 1 の間の小数である｡ 　　 Adjusts the view in the window so that fraction of the horizontal span of the text is off-screen to the left. Fraction is a fraction between 0 and 1.

  pathName xview scroll number what
    この命令は number と what に従って窓内の視野を左或は右に移動する｡what は units か pages か pixels の何れかでなくてはならない｡もし what が units か pages であれば number は整数でなくてはならない､それ以外では number は “2.0c” や “1i” の如き(結果は最も近い整数値に丸められる｡単位がないと画素であると仮定される) Tk_GetPixels に受入れられるどれかの形式で指定されても良い｡もし what が units であると､視野は左又は右に画面上の number 個の平均幅文字に調節される; もしそれが pages であると number 倍の画面幅で調節される; もし pixels であると視野は number 個の画素で調節される｡もし number が負数であると左にある文字が見えるように､正数であると右にある文字が見えるようにする｡ 　　 This command shifts the view in the window left or right according to number and what. What must be pages, pixels, or units. If what is pages or units then number must be an integer, otherwise number may be specified in any of the forms acceptable to Tk_GetPixels, such as “2.0c” or “1i” (the result is rounded to the nearest integer value. If no units are given, pixels are assumed). If what is pages then the view adjusts by number screenfuls; if it is pixels then the view adjusts by number pixels; if it is units, the view adjusts left or right by number average-width characters on the display. If number is negative then characters farther to the left become visible; if it is positive then characters farther to the right become visible.

pathName yview ?args?
  この命令は部品窓内の文書の垂直位置の問合せと変更に使われる｡次のいずれかの形式をとる: 　　 This command is used to query and change the vertical position of the text in the widget's window. It can take any of the following forms:

  pathName yview
    二つの要素からなるリストを返す｡二つとも 0 と 1 の間の実数小数である｡第一の要素は､窓の頂上行中の最初の文字の最初に可視になっている画素の位置を文書全体での相対値として与える(譬えば､0.5 は文書全体の半分の位置である)｡第二の要素は､窓の底の行の最後に見える画素の後の最初の画素を､文書全体での相対値として与える｡これは -yscrollcommand 指示項目を経由して摺動盤に送られる値と同じである｡ 　　 Returns a list containing two elements, both of which are real fractions between 0 and 1. The first element gives the position of the first visible pixel of the first character (or image, etc) in the top line in the window, relative to the text as a whole (0.5 means it is halfway through the text, for example). The second element gives the position of the first pixel just after the last visible one in the bottom line of the window, relative to the text as a whole. These are the same values passed to scrollbars via the -yscrollcommand option.

  pathName yview moveto fraction
    fraction で与えられた画素が窓の頂上の行の頂になる様､窓内の視野を調節する｡fraction は 0 と 1 の間の小数である; 0 は文書の最初の文字の最初の画素を指し示す､ 0.33 は文書全体の三分の一の箇所を指し示す; 以下同様である｡1 に近い値は文書内の最後の画素に近い値を指し示す( 1 は実際は最後の画素の後の画素を指す)､しかし部品は最後の画素を超えて摺動されることがないので､値 1 は､実際はどの様な値であれ､最後の画素が窓の底にあり､何か他の画素が頂上にあることが確実になるよう丸め直される｡ 　　 Adjusts the view in the window so that the pixel given by fraction appears at the top of the top line of the window. Fraction is a fraction between 0 and 1; 0 indicates the first pixel of the first character in the text, 0.33 indicates the pixel that is one-third the way through the text; and so on. Values close to 1 will indicate values close to the last pixel in the text (1 actually refers to one pixel beyond the last pixel), but in such cases the widget will never scroll beyond the last pixel, and so a value of 1 will effectively be rounded back to whatever fraction ensures the last pixel is at the bottom of the window, and some other pixel is at the top.

  pathName yview scroll number what
    この命令は number と what に従って窓内の視野を上或は下に移動する｡what は pages か pixels か units の何れかでなくてはならない｡もし what が units か pages であれば number は整数でなくてはならない､それ以外では number は “2.0c” や “1i” の如き(結果は最近の整数値に丸められる｡単位がないと画素であると仮定される) Tk_GetPixels に受入れられるどれかの形式で指定されても良い｡もし what が units であると､視野は上又は下に画面上の number 行に調節される; もしそれが pages であると number 倍の画面幅で調節される; もし pixels であると視野は number 個の画素で調節される｡もし number が負数であると文書の初めにある文字が見えるように､正数であると文書の末尾側にある文字が見えるようにする｡ 　　 This command adjust the view in the window up or down according to number and what. What must be pages, pixels, or units. If what is units or pages then number must be an integer, otherwise number may be specified in any of the forms acceptable to Tk_GetPixels, such as “2.0c” or “1i” (the result is rounded to the nearest integer value. If no units are given, pixels are assumed). If what is units, the view adjusts up or down by number lines on the display; if it is pages then the view adjusts by number screenfuls; if it is pixels then the view adjusts by number pixels. If number is negative then earlier positions in the text become visible; if it is positive then later positions in the text become visible.

  pathName yview ?-pickplace? index
    index が可視になるように部品の窓内の視野を変更する｡もし -pickplace 指示項目が指定されないと index は窓の頂上に現れる｡-pickplace が指定されると部品は index が窓内のどこに現れるか選択する: 　　 Changes the view in the widget's window to make index visible. If the -pickplace option is not specified then index will appear at the top of the window. If -pickplace is specified then the widget chooses where index appears in the window:

    1. もし､ index が既に窓内の何処かに可視であるとこの命令は何もしない｡ 　　 If index is already visible somewhere in the window then the command does nothing.

    2. もし､ index が数行程度窓から上に逸れていると窓の頂上に配置される｡ 　　 If index is only a few lines off-screen above the window then it will be positioned at the top of the window.

    3. もし､ index が数行程度窓から下に逸れていると窓の底に配置される｡ 　　 If index is only a few lines off-screen below the window then it will be positioned at the bottom of the window.

    4. 他の場合､ index は窓中央に置かれる｡ 　　 Otherwise, index will be centered in the window.

    -pickplace 指示項目は pathName see 部品命令によって旧式になった(pathName see は x- と y-移動の両方を処理して位置を可視にする､一方 -pickplace 方法はy-方向のみを処理する)｡ 　　 The -pickplace option has been obsoleted by the pathName see widget command (pathName see handles both x- and y-motion to make a location visible, whereas the -pickplace mode only handles motion in y).

  pathName yview number
    この命令は number によって与えられる行の後の最初の文字を窓の頂上の可視にする｡ number は整数でなければならない｡この命令は摺動に使用されたが､現在は旧式である｡ 　　 This command makes the first character on the line after the one given by number visible at the top of the window. Number must be an integer. This command used to be used for scrolling, but now it is obsolete.

### 束縛 BINDINGS

Tk は自動的に文書に束縛を作成する､それは次の初期設定の挙動を与える｡下の記述で “語” は tcl_wordchars 変数の値に依存する｡tclvars(n) を参照されたい｡ 　　 Tk automatically creates class bindings for texts that give them the following default behavior. In the descriptions below, “word” is dependent on the value of the tcl_wordchars variable. See tclvars(n).

1. マウス釦 1 の軽叩は挿入遊走子をマウス遊走子の下にある文字の直近の端に配置し､入力の注目をこの部品に設定する､そして､部品内のどの選択も解消する｡マウス釦 1 の曳摺りは挿入遊走子とマウスの下の文字との間にある選択を追出す｡ 　　 Clicking mouse button 1 positions the insertion cursor at the closest edge of the character underneath the mouse cursor, sets the input focus to this widget, and clears any selection in the widget. Dragging with mouse button 1 strokes out a selection between the insertion cursor and the character under the mouse.

2. マウス釦 1 の二重軽叩はマウスの下の語を選択し､挿入遊走子を語の初めに配置する｡二重軽叩後の曳摺りは語全体で構成される選択を追出す｡ 　　 Double-clicking with mouse button 1 selects the word under the mouse and positions the insertion cursor at the start of the word. Dragging after a double click will stroke out a selection consisting of whole words.

3. マウス釦 1 の三重軽叩はマウスの下の行を選択し､挿入遊走子を行の初めに配置する｡三重軽叩後の曳摺りは行全体で構成される選択を追出す｡ 　　 Triple-clicking with mouse button 1 selects the line under the mouse and positions the insertion cursor at the start of the line. Dragging after a triple click will stroke out a selection consisting of whole lines.

4. シフト鍵押下の間にマウス釦 1 の移動による曳摺りにより選択の末尾が調整可能である; これはマウス釦 1 が押されたときに最もマウス遊走子に近い選択の末尾が調整される｡もし釦が曳摺られる前に二重軽叩されると､語全体を単位に選択が調整される; もし三重軽叩であると行全体を単位として調整される｡ 　　 The ends of the selection can be adjusted by dragging with mouse button 1 while the Shift key is down; this will adjust the end of the selection that was nearest to the mouse cursor when button 1 was pressed. If the button is double-clicked before dragging then the selection will be adjusted in units of whole words; if it is triple-clicked then the selection will be adjusted in units of whole lines.

5. 釦 1 の軽叩に Ctrl 鍵押下が伴うと選択に影響することなく挿入遊走子が再配置される｡ 　　 Clicking mouse button 1 with the Control key down will reposition the insertion cursor without affecting the selection.

6. 通常の印刷文字が打鍵されると､挿入遊走子の位置にそれが挿入される｡ 　　 If any normal printing characters are typed, they are inserted at the point of the insertion cursor.

7. 部品内の視野はマウス釦 2 (マウス中央釦)の曳摺りで調整可能である｡もしマウス釦 2 がマウスの移動なしに軽叩されると､選択は文書のマウス遊走子の位置に複写挿入される｡挿入鍵もまた､挿入遊走子の位置に選択を挿入する｡ 　　 The view in the widget can be adjusted by dragging with the middle mouse button (button 2, or button 3 in TkAqua). If the middle mouse button is clicked without moving the mouse, the selection is copied into the text at the position of the mouse cursor. The Insert key also inserts the selection, but at the position of the insertion cursor.

8. もしマウスが釦 1 を押している間に部品の外に曳摺り出されると入り口は自動的に文書が可視になるよう摺動される(もし､マウスが窓に残された側に画面外の文書が更にあると)｡ 　　 If the mouse is dragged out of the widget while button 1 is pressed, the entry will automatically scroll to make more text visible (if there is more text off-screen on the side where the mouse left the window).

9. 左向き鍵と右向き鍵は挿入遊走子を左か右に一文字動かす; それは文書内のどの選択も解消する｡もし左向き鍵か右向き鍵がシフト鍵を押下しながら打鍵されると､挿入遊走子が移動し､選択は新しい文字を含むよう拡げられる｡コントロール鍵-左向き鍵とコントロール鍵-右向き鍵は挿入遊走子を語単位に移動する｡コントロール-シフト-左向き鍵とコントロール-シフト-右向き鍵は挿入遊走子を語単位に移動し､選択を拡張する｡コントロール-b 鍵とコントロール-f 鍵はそれぞれ左向き鍵と右向き鍵と同じに振舞う｡メタ-b 鍵とメタ-f 鍵はそれぞれコントロール鍵-左向き鍵とコントロール鍵-右向き鍵と同じに振舞う｡(訳註 メタ鍵はUnix特有の鍵でWinにはない) 　　 The Left and Right keys move the insertion cursor one character to the left or right; they also clear any selection in the text. If Left or Right is typed with the Shift key down, then the insertion cursor moves and the selection is extended to include the new character. Control-Left and Control-Right move the insertion cursor by words, and Control-Shift-Left and Control-Shift-Right move the insertion cursor by words and also extend the selection. Control-b and Control-f behave the same as Left and Right, respectively. Meta-b and Meta-f behave the same as Control-Left and Control-Right, respectively.

10. 上向き鍵と下向き鍵は挿入遊走子を上か下に一行動かし､文書内のどの選択も解消する｡もし左向き鍵か右向き鍵がシフト鍵を押下しながら打鍵されると､挿入遊走子が移動し､選択は新しい文字を含むよう拡げられる｡コントロール鍵-上向き鍵とコントロール鍵-下向き鍵は挿入遊走子を段落単位に移動する(空白行で区切られた行のまとまり)｡コントロール-シフト-上向き鍵とコントロール-シフト-下向き鍵は挿入遊走子を段落単位に移動し､選択を拡張する｡コントロール-p 鍵とコントロール-n 鍵はそれぞれ上向き鍵と下向き鍵と同じに振舞う｡ 　　 The Up and Down keys move the insertion cursor one line up or down and clear any selection in the text. If Up or Right is typed with the Shift key down, then the insertion cursor moves and the selection is extended to include the new character. Control-Up and Control-Down move the insertion cursor by paragraphs (groups of lines separated by blank lines), and Control-Shift-Up and Control-Shift-Down move the insertion cursor by paragraphs and also extend the selection. Control-p and Control-n behave the same as Up and Down, respectively.

11. Next と Prior 鍵は挿入遊走子を前方又は後方に一画面移動し文書内のどの選択も解消する｡もし Next と Prior 鍵が打鍵される間にシフト-鍵が押下されていると､選択は新しい文字を含むよう拡げられる｡ 　　 The Next and Prior keys move the insertion cursor forward or backwards by one screenful and clear any selection in the text. If the Shift key is held down while Next or Prior is typed, then the selection is extended to include the new character.

12. コントロール-Next鍵とコントロール-Prior鍵は挿入遊走子や選択には影響を与えず､視野を右又は左に一頁摺動する｡ 　　 Control-Next and Control-Prior scroll the view right or left by one page without moving the insertion cursor or affecting the selection.

13. 我家鍵､又はコントロール-a 鍵は挿入遊走子を表示行の先頭に移動し､部品内のどの選択も解消する｡シフト鍵-我家鍵 は挿入遊走子を表示行の先頭に移動し､選択をその位置まで拡張する｡ 　　 Home and Control-a move the insertion cursor to the beginning of its display line and clear any selection in the widget. Shift-Home moves the insertion cursor to the beginning of the display line and also extends the selection to that point.

14. End 鍵､又はコントロール-e 鍵は挿入遊走子を表示行の末尾に移動し､部品のどの選択も解消する｡シフト鍵-End鍵 は挿入遊走子を表示行の末尾に移動し､選択をその位置まで拡張する｡ 　　 End and Control-e move the insertion cursor to the end of the display line and clear any selection in the widget. Shift-End moves the cursor to the end of the display line and extends the selection to that point.

15. コントロール-我家 鍵又はメタ-< 鍵は挿入遊走子を文書の初めに移し､部品のどの選択も解消する｡コントロール-シフト-我家 鍵は遊走子を文書の初めに移し､選択をその位置まで拡張する｡ 　　 Control-Home and Meta-< move the insertion cursor to the beginning of the text and clear any selection in the widget. Control-Shift-Home moves the insertion cursor to the beginning of the text and also extends the selection to that point.

16. コントロール-End 鍵又はメタ-> 鍵は挿入遊走子を文書の末尾に移し､部品のどの選択も解消する｡コントロール-シフト-End 鍵は遊走子を文書の末尾に移し､選択をその位置まで拡張する｡ 　　 Control-End and Meta-> move the insertion cursor to the end of the text and clear any selection in the widget. Control-Shift-End moves the cursor to the end of the text and extends the selection to that point.

17. 選択鍵とコントロール-スペース 鍵は選択錨を挿入遊走子の位置に移動する｡それは現在の選択には影響しない｡シフト鍵-選択鍵 とコントロール-シフト-スペース鍵は選択を挿入遊走子の現在の位置に調整し､それ以前に選択が何もない場合は錨から挿入遊走子迄を選択する｡ 　　 The Select key and Control-Space set the selection anchor to the position of the insertion cursor. They do not affect the current selection. Shift-Select and Control-Shift-Space adjust the selection to the current position of the insertion cursor, selecting from the anchor to the insertion cursor if there was not any selection previously.

18. コントロール-/ 鍵は部品の全体を選択する｡ 　　 Control-/ selects the entire contents of the widget.

19. コントロール-\ 鍵は部品内の選択を解消する｡ 　　 Control-\ clears any selection in the widget.

20. F16 鍵(多くのSun 社の装置では Copy と表示される)又はメタ-w 鍵 は部品内の選択を臨時板に複写する､もし選択がされていると｡この動作は tk_textCopy 命令により遂行される｡ 　　 The F16 key (labelled Copy on many Sun workstations) or Meta-w copies the selection in the widget to the clipboard, if there is a selection. This action is carried out by the command tk_textCopy.

21. F20 鍵(多くのSun 社の装置では Cut と表示される)又はコントロール-w 鍵 は部品内の選択を臨時板に複写し､選択を削除する｡この動作は tk_textCut 命令により遂行される｡もし部品内に選択がないとこの鍵は影響を及ぼさない｡ 　　 The F20 key (labelled Cut on many Sun workstations) or Control-w copies the selection in the widget to the clipboard and deletes the selection. This action is carried out by the command tk_textCut. If there is no selection in the widget then these keys have no effect.

22. F18 鍵(多くのSun 社の装置では Paste と表示される)又はコントロール-y 鍵 は臨時板の内容を挿入遊走子の位置に複写する｡この動作は tk_textPaste 命令により遂行される｡ 　　 The F18 key (labelled Paste on many Sun workstations) or Control-y inserts the contents of the clipboard at the position of the insertion cursor. This action is carried out by the command tk_textPaste.

23. 削除鍵は部品に選択があれば削除する｡もし選択がないと､挿入遊走子の右の文字を削除する｡ 　　 The Delete key deletes the selection, if there is one in the widget. If there is no selection, it deletes the character to the right of the insertion cursor.

24. バックスペース鍵とコントロール-h 鍵は部品に選択があれば削除する｡もし選択がないと､挿入遊走子の左の文字を削除する｡ 　　 Backspace and Control-h delete the selection, if there is one in the widget. If there is no selection, they delete the character to the left of the insertion cursor.

25. コントロール-d 鍵は挿入遊走子の右の文字を削除する｡ 　　 Control-d deletes the character to the right of the insertion cursor.

26. メタ-d 鍵は挿入遊走子の右の語を削除する｡ 　　 Meta-d deletes the word to the right of the insertion cursor.

27. コントロール-k 鍵は挿入遊走子から行末迄の文字を削除する; もし挿入遊走子が既に行末にあると､コントロール-k 鍵は､改行文字を削除する｡ 　　 Control-k deletes from the insertion cursor to the end of its line; if the insertion cursor is already at the end of a line, then Control-k deletes the newline character.

28. コントロール-o 鍵は挿入遊走子を移動させることなく､挿入遊走子の前面に新しい行を開く｡ 　　 Control-o opens a new line by inserting a newline character in front of the insertion cursor without moving the insertion cursor.

29. メタ-バックスペース鍵 とメタ-削除 鍵は挿入遊走子の左の語を削除する｡ 　　 Meta-backspace and Meta-Delete delete the word to the left of the insertion cursor.

30. コントロール-t 鍵は遊走子の右の二つの文字の順番を逆さにする｡ 　　 Control-t reverses the order of the two characters to the right of the insertion cursor.

31. コントロール-x 鍵は部品内の何が選択されていても臨時板に複写した後削除する｡ 　　 Control-x deletes whatever is selected in the text widget after copying it to the clipboard.

32. コントロール-z 鍵は､もし -undo 指示項目が真値であると最後の編集を取消す｡真値でなければ何もしない｡ 　　 Control-z undoes the last edit action if the -undo option is true. Does nothing otherwise.

33. コントロール-Z 鍵(又は､ Windows では コントロール-y 鍵)は､もし -undo 指示項目が真値であると最後に取消した編集を再適用する｡真値でなければ何もしない｡ 　　 Control-Z (or Control-y on Windows) reapplies the last undone edit action if the -undo option is true. Does nothing otherwise.

もし部品が -state 指示項目を使って無能の場合､その視野は依然として調整され文書も選択可能であるが､しかし､挿入遊走子は表示されず､文書の修正も行われない｡ 　　 If the widget is disabled using the -state option, then its view can still be adjusted and text can still be selected, but no insertion cursor will be displayed and no text modifications will take place.

文書の振舞いは新しい束縛を個別の部品に対して又は級の束縛の再定義によって変更することが可能である｡ 　　 The behavior of texts can be changed by defining new bindings for individual widgets or by redefining the class bindings.

### 未解決の問題 KNOWN ISSUES

#### 文字と索引に関する問題 ISSUES CONCERNING CHARS AND INDICES

Tk 8.5 より前は､この部品は文字列 “chars” を索引位置の指定(それは文字､埋め込み窓､埋め込み影像を含む)に使用した｡Tk 8.5 以降では､文書部品は “chars” と “indices” を分離して正しく扱う｡しかしながら､過去との互換性の為に､索引の修飾子の “+N chars” と “-N chars” は依然として索引を指定することを続ける｡実際の文字の指定には､どれかの､完全形式の “+N chars” か “-N any chars” 等を使うべきである｡この混乱は将来の改版で部品が “+N chars” は “+N any chars” の類義語として正しく解釈させて修繕されるであろう｡ 　　 Before Tk 8.5, the widget used the string “chars” to refer to index positions (which included characters, embedded windows and embedded images). As of Tk 8.5 the text widget deals separately and correctly with “chars” and “indices”. For backwards compatibility, however, the index modifiers “+N chars” and “-N chars” continue to refer to indices. One must use any of the full forms “+N any chars” or “-N any chars” etc. to refer to actual character indices. This confusion may be fixed in a future release by making the widget correctly interpret “+N chars” as a synonym for “+N any chars”.

#### 効率の問題 PERFORMANCE ISSUES

文書部品は種々の条件のもとで効果的に実行できる｡文書部品はそれぞれの文書のバイトについて約 2～3 バイトの主記憶装置を使う､それで多くの高級装置では文書は実質上百万バイト以上を含む｡文書の内部的表現は修正したB-樹枝構造を使い､それによりかなり大きい文書も比較的効率に処理できる｡貼り札はB-樹枝構造内に､貼り札に大きな範囲に拡がるか小さい範囲に多くの非結合を持たせるかを許容する方法で効率の損失をなくしている｡浮標は多くの数の標付けの許容する方法で実装されている｡多くの場合､多数の重複のない貼り札や多くの別々の範囲を有する貼り札は､保有しても快適に動作する｡ 　　 Text widgets should run efficiently under a variety of conditions. The text widget uses about 2-3 bytes of main memory for each byte of text, so texts containing a megabyte or more should be practical on most workstations. Text is represented internally with a modified B-tree structure that makes operations relatively efficient even with large texts. Tags are included in the B-tree structure in a way that allows tags to span large ranges or have many disjoint smaller ranges without loss of efficiency. Marks are also implemented in a way that allows large numbers of marks. In most cases it is fine to have large numbers of unique tags, or a tag that has many distinct ranges.

もし百も千もの異なる貼り札を有し､その全てが次の特性を有する場合､効率上の障碍が持上るかもしれない : それぞれの貼り札の初めと終りの範囲が文書の初めと終りにそれぞれ近い､又は一つづつの貼り札の範囲が文書部品の大部分に及ぶ｡このような貼り札の追加と削除の負担は他の同様な特性を持つ貼り札の数に比例する｡その反対に千もの数の関連のない貼り札は､その及ぶ範囲が局部的で､文書全体にわたって均一に散らばっている場合は何の問題もない｡ 　　 One performance problem can arise if you have hundreds or thousands of different tags that all have the following characteristics: the first and last ranges of each tag are near the beginning and end of the text, respectively, or a single tag range covers most of the text widget. The cost of adding and deleting tags like this is proportional to the number of other tags with the same properties. In contrast, there is no problem with having thousands of distinct tags if their overall ranges are localized and spread uniformly throughout the text.

非常に長い行は非効率的である､特にそれに多くの浮標や貼り札がその中にある場合は｡ 　　 Very long text lines can be expensive, especially if they have many marks and tags within them.

挿入遊走子を伴う行の表示は遊走子が明滅する度に再描画され､それは描画の通信量の間断のない流れを引起す｡これを回避するには -insertOffTime 属性を 0 にする｡ 　　 The display line with the insert cursor is redrawn each time the cursor blinks, which causes a steady stream of graphics traffic. Set the -insertofftime attribute to 0 avoid this.

#### KNOWN BUGS

pathName search -regexp 副命令は複数行に亙る効果的な様式による洗練された正規表現による合致を遂行しようと試み(Tk 8.5以降)､それぞれの行を個別に調べ､前方捜索と後方捜索によって､行の小さな群にする｡特定の条件下で捜索結果は同じ正規表現 を部品からの文書全体に一気に適用して得られる結果と異なるかもしれない｡譬えば､貪欲な合致を伴う 正規表現の捜索をする時､部品は､二つの条件の内の一つが真値である限り､余分の行も加えようと試み続ける: Tcl の正規表現外部函数群は､最長合致が可能であるとの応答番号を返すか(しかし Tcl には既知の不具合があり､その意味はこの応答番号は必ずしも正しくは返されない); 若しくは､それぞれの追加された余分の行は少なくとも部分的に模様と合致しているか､のいずれか｡この意味は､この様な場合､追加された第一の余分の行は結果として合致せず Tcl の正規表現系は誤った応答番号を返すが､追加された第二の行が実際には合致する､その場合､文書部品は間違った結果を返すことになる｡実際は稀な障碍であるが､起りうる､譬えば: 　　 　 The pathName search -regexp sub-command attempts to perform sophisticated regexp matching across multiple lines in an efficient fashion (since Tk 8.5), examining each line individually, and then in small groups of lines, whether searching forwards or backwards. Under certain conditions the search result might differ from that obtained by applying the same regexp to the entire text from the widget in one go. For example, when searching with a greedy regexp, the widget will continue to attempt to add extra lines to the match as long as one of two conditions are true: either Tcl's regexp library returns a code to indicate a longer match is possible (but there are known bugs in Tcl which mean this code is not always correctly returned); or if each extra line added results in at least a partial match with the pattern. This means in the case where the first extra line added results in no match and Tcl's regexp system returns the incorrect code and adding a second extra line would actually match, the text widget will return the wrong result. In practice this is a rare problem, but it can occur, for example:

    pack [text .t]
    	.t insert 1.0 "aaaa\nbbbb\ncccc\nbbbb\naaaa\n"
    	.t search -regexp -- {(a+|b+\nc+\nb+)+\na+} 1.0

は最初の “b” で始まる19字の文字列が存在していても､合致を見付けない｡ 　　 will not find a match when one exists of 19 characters starting from the first “b”.

何時であれ一つの可能な合致が完全に他のものに包まれると､捜索命令は大きな合致のみを返すことを確実にしょうとする｡後向き正規表現捜索が遂行される時､ Tcl は常には､これに到達できない可能性がある､一つ或はそれ以上の短い非重複の合致が先行し､その全てがそれを取り囲む大きな合致の領域に先行されている場合である｡部品に使われた捜索手順は､部品の大部分を覆うであろう様な部分が合致している可能性には､恣意的には振り返らない｡譬えば: 　　 Whenever one possible match is fully enclosed in another, the search command will attempt to ensure only the larger match is returned. When performing backwards regexp searches it is possible that Tcl will not always achieve this, in the case where a match is preceded by one or more short, non-overlapping matches, all of which are preceded by a large match which actually encompasses all of them. The search algorithm used by the widget does not look back arbitrarily far for a possible match which might cover large portions of the widget. For example:

    pack [text .t]
    	.t insert 1.0 "aaaa\nbbbb\nbbbb\nbbbb\nbbbb\n"
    	.t search -regexp -backward -- {b+\n|a+\n(b+\n)+} end

は “5.0” で合致する､真の貪欲な合致では “1.0” で合致するところである｡同様にもしこの場合に -all を追加すると､ “5.0” と “4.0” と “3.0” と “1.0” とで合致する､このとき､本当は “1.0” でのみ合致すべきである､理由はその合致が他の全てを包んでいるから｡ 　　 matches at “5.0” when a true greedy match would match at “1.0”. Similarly if we add -all to this case, it matches at all of “5.0”, “4.0”, “3.0” and “1.0”, when really it should only match at “1.0” since that match encloses all the others.

### SEE ALSO

entry, scrollbar

### KEYWORDS

text, widget, tkvars
Copyright © 1992 The Regents of the University of California.
Copyright © 1994-1996 Sun Microsystems, Inc.