klayout/testdata/oasis/t3.5.ot

320 lines
9.9 KiB
Plaintext

# <test>
# <name>t3.5.ot</name>
# <content-description>A single cell with several text object</content-description>
# <test-intention>Geometrical objects reader capabilities</test-intention>
# <test-intention>TEXT record reading</test-intention>
# <test-intention>Text string specification by ID</test-intention>
# <test-intention>Implicit assignment for text string ID</test-intention>
# <test-intention>Text string backward references</test-intention>
# <test-intention>Modal variables for text objects</test-intention>
# <test-intention>Various repetition types for text objects</test-intention>
# <content>
# begin_lib 0.001
# begin_cell {ABC}
# text 1 2 0 0 {100 -200} {B}
# text 2 1 0 0 {200 -400} {A}
# text 2 1 0 0 {300 -400} {A}
# text 2 1 0 0 {300 -300} {A}
# text 2 1 0 0 {300 -500} {B}
# text 2 1 0 0 {310 -500} {B}
# text 2 1 0 0 {320 -500} {B}
# text 2 1 0 0 {300 -488} {B}
# text 2 1 0 0 {310 -488} {B}
# text 2 1 0 0 {320 -488} {B}
# text 2 1 0 0 {300 -476} {B}
# text 2 1 0 0 {310 -476} {B}
# text 2 1 0 0 {320 -476} {B}
# text 2 1 0 0 {300 -464} {B}
# text 2 1 0 0 {310 -464} {B}
# text 2 1 0 0 {320 -464} {B}
# text 2 1 0 0 {300 -700} {B}
# text 2 1 0 0 {310 -700} {B}
# text 2 1 0 0 {320 -700} {B}
# text 2 1 0 0 {300 -688} {B}
# text 2 1 0 0 {310 -688} {B}
# text 2 1 0 0 {320 -688} {B}
# text 2 1 0 0 {300 -676} {B}
# text 2 1 0 0 {310 -676} {B}
# text 2 1 0 0 {320 -676} {B}
# text 2 1 0 0 {300 -664} {B}
# text 2 1 0 0 {310 -664} {B}
# text 2 1 0 0 {320 -664} {B}
# text 2 1 0 0 {300 -900} {B}
# text 2 1 0 0 {310 -900} {B}
# text 2 1 0 0 {320 -900} {B}
# text 2 1 0 0 {300 -1100} {B}
# text 2 1 0 0 {300 -1088} {B}
# text 2 1 0 0 {300 -1076} {B}
# text 2 1 0 0 {300 -1064} {B}
# text 2 1 0 0 {300 -1300} {B}
# text 2 1 0 0 {312 -1300} {B}
# text 2 1 0 0 {325 -1300} {B}
# text 2 1 0 0 {339 -1300} {B}
# text 2 1 0 0 {300 -1500} {B}
# text 2 1 0 0 {312 -1500} {B}
# text 2 1 0 0 {327 -1500} {B}
# text 2 1 0 0 {345 -1500} {B}
# text 2 1 0 0 {300 -1700} {B}
# text 2 1 0 0 {300 -1690} {B}
# text 2 1 0 0 {300 -1679} {B}
# text 2 1 0 0 {300 -1900} {B}
# text 2 1 0 0 {300 -1890} {B}
# text 2 1 0 0 {300 -1875} {B}
# text 2 1 0 0 {300 -2100} {B}
# text 2 1 0 0 {310 -2100} {B}
# text 2 1 0 0 {320 -2100} {B}
# text 2 1 0 0 {289 -2112} {B}
# text 2 1 0 0 {299 -2112} {B}
# text 2 1 0 0 {309 -2112} {B}
# text 2 1 0 0 {278 -2124} {B}
# text 2 1 0 0 {288 -2124} {B}
# text 2 1 0 0 {298 -2124} {B}
# text 2 1 0 0 {267 -2136} {B}
# text 2 1 0 0 {277 -2136} {B}
# text 2 1 0 0 {287 -2136} {B}
# text 2 1 0 0 {300 -2300} {B}
# text 2 1 0 0 {311 -2288} {B}
# text 2 1 0 0 {322 -2276} {B}
# text 2 1 0 0 {290 -2290} {B}
# text 2 1 0 0 {301 -2278} {B}
# text 2 1 0 0 {312 -2266} {B}
# text 2 1 0 0 {280 -2280} {B}
# text 2 1 0 0 {291 -2268} {B}
# text 2 1 0 0 {302 -2256} {B}
# text 2 1 0 0 {270 -2270} {B}
# text 2 1 0 0 {281 -2258} {B}
# text 2 1 0 0 {292 -2246} {B}
# text 2 1 0 0 {300 -2500} {B}
# text 2 1 0 0 {311 -2488} {B}
# text 2 1 0 0 {322 -2476} {B}
# text 2 1 0 0 {300 -2700} {B}
# text 2 1 0 0 {290 -2690} {B}
# text 2 1 0 0 {280 -2680} {B}
# text 2 1 0 0 {270 -2670} {B}
# text 2 1 0 0 {300 -2900} {B}
# text 2 1 0 0 {310 -2900} {B}
# text 2 1 0 0 {310 -2890} {B}
# text 2 1 0 0 {300 -2890} {B}
# text 2 1 0 0 {300 -2930} {B}
# text 2 1 0 0 {310 -2920} {B}
# text 2 1 0 0 {300 -2910} {B}
# text 2 1 0 0 {290 -2920} {B}
# text 2 1 0 0 {310 -2940} {B}
# text 2 1 0 0 {300 -3100} {B}
# text 2 1 0 0 {289 -3088} {B}
# text 2 1 0 0 {299 -3098} {B}
# text 2 1 0 0 {300 -3300} {B}
# text 2 1 0 0 {310 -3300} {B}
# text 2 1 0 0 {310 -3290} {B}
# text 2 1 0 0 {300 -3290} {B}
# text 2 1 0 0 {300 -3330} {B}
# text 2 1 0 0 {310 -3320} {B}
# text 2 1 0 0 {300 -3310} {B}
# text 2 1 0 0 {290 -3320} {B}
# text 2 1 0 0 {310 -3340} {B}
# text 2 1 0 0 {300 -3500} {B}
# text 2 1 0 0 {288 -3488} {B}
# text 2 1 0 0 {297 -3497} {B}
# end_cell
# end_lib
# </content>
# </test>
header
real 0 1000.0
uint 0 ;# offset table is in start record
for { set i 0 } { $i < 12 } { incr i } { uint 0 }
# Text definition
record TEXTSTRING
str A
# Text definition
record TEXTSTRING
str B
# Cell ABC
record CELL_STR
str ABC
record TEXT
bits 01111011 ;# 0CNXYRTL
uint 1 ;# text-id
uint 1 ;# text-layer
uint 2 ;# text-datatype
int 100 ;# text-x (abs)
int -200 ;# text-y (abs)
record XYRELATIVE
record TEXT
bits 01111011 ;# 0CNXYRTL
uint 0 ;# text-id
uint 2 ;# text-layer
uint 1 ;# text-datatype
int 100 ;# text-x (relative)
int -200 ;# text-y (relative)
record XYABSOLUTE
record TEXT
bits 00010000 ;# 0CNXYRTL
int 300 ;# text-x (abs)
record TEXT
bits 00001000 ;# 0CNXYRTL
int -300 ;# text-y (abs)
record XYRELATIVE
record TEXT
bits 01101100 ;# 0CNXYRTL
uint 1 ;# text-id
int -200 ;# text-y (relative)
uint 1 ;# repetition (3x4 matrix)
uint 1
uint 2
uint 10
uint 12
record TEXT
bits 00001100 ;# 0CNXYRTL
int -200 ;# text-y (relative)
uint 0 ;# repetition (reuse matrix)
record TEXT
bits 00001100 ;# 0CNXYRTL
int -200 ;# text-y (relative)
uint 2 ;# repetition (3 columns)
uint 1
uint 10
record TEXT
bits 00001100 ;# 0CNXYRTL
int -200 ;# text-y (relative)
uint 3 ;# repetition (4 columns)
uint 2
uint 12
record TEXT
bits 00001100 ;# 0CNXYRTL
int -200 ;# text-y (relative)
uint 4 ;# repetition (4 columns, arbitrary spacing)
uint 2
uint 12
uint 13
uint 14
record TEXT
bits 00001100 ;# 0CNXYRTL
int -200 ;# text-y (relative)
uint 5 ;# repetition (4 columns, arbitrary spacing, grid 3)
uint 2
uint 3
uint 4
uint 5
uint 6
record TEXT
bits 00001100 ;# 0CNXYRTL
int -200 ;# text-y (relative)
uint 6 ;# repetition (3 columns, arbitrary spacing)
uint 1
uint 10
uint 11
record TEXT
bits 00001100 ;# 0CNXYRTL
int -200 ;# text-y (relative)
uint 7 ;# repetition (3 columns, arbitrary spacing, grid 5)
uint 1
uint 5
uint 2
uint 3
record TEXT
bits 00001100 ;# 0CNXYRTL
int -200 ;# text-y (relative)
uint 8 ;# repetition (3x4 matrix, arbitrary displacement vectors)
uint 1 ;# n-dimension
uint 2 ;# m-dimension
uint [ expr 16*10 ] ;# n-displacement (g-delta: 10-east=10,0)
uint [ expr 4*11+3 ] ;# m-displacement (g-delta: -11,-12)
int -12
record TEXT
bits 00001100 ;# 0CNXYRTL
int -200 ;# text-y (relative)
uint 8 ;# repetition (3x4 matrix, arbitrary displacement vectors)
uint 1 ;# n-dimension
uint 2 ;# m-dimension
uint [ expr 4*11+1 ] ;# n-displacement (g-delta: 11,12)
int 12
uint [ expr 16*10+10 ] ;# n-displacement (g-delta: 10-northwest=-10,10)
record TEXT
bits 00001100 ;# 0CNXYRTL
int -200 ;# text-y (relative)
uint 9 ;# repetition (3 times, arbitrary displacement vectors)
uint 1 ;# dimension
uint [ expr 4*11+1 ] ;# n-displacement (g-delta: 11,12)
int 12
record TEXT
bits 00001100 ;# 0CNXYRTL
int -200 ;# text-y (relative)
uint 9 ;# repetition (4 times, arbitrary displacement vectors)
uint 2 ;# dimension
uint [ expr 16*10+10 ] ;# n-displacement (g-delta: 10-northwest=-10,10)
record TEXT
bits 00001100 ;# 0CNXYRTL
int -200 ;# text-y (relative)
uint 10 ;# repetition (9 times, once in the middle, others displaced)
uint 7 ;# dimension
uint [ expr 16*10+0 ] ;# n-displacement (g-delta: 10-east=10,0)
uint [ expr 16*10+2 ] ;# n-displacement (g-delta: 10-north=0,10)
uint [ expr 16*10+4 ] ;# n-displacement (g-delta: 10-west=-10,0)
uint [ expr 16*40+6 ] ;# n-displacement (g-delta: 10-south=0,-40)
uint [ expr 16*10+8 ] ;# n-displacement (g-delta: 10-northeast=10,10)
uint [ expr 16*10+10 ] ;# n-displacement (g-delta: 10-northwest=-10,10)
uint [ expr 16*10+12 ] ;# n-displacement (g-delta: 10-southwest=-10,-10)
uint [ expr 16*20+14 ] ;# n-displacement (g-delta: 10-southeast=20,-20)
record TEXT
bits 00001100 ;# 0CNXYRTL
int -200 ;# text-y (relative)
uint 10 ;# repetition (3 times, once in the middle, two displaced)
uint 1 ;# dimension
uint [ expr 4*11+3 ] ;# n-displacement (g-delta: -11,12)
int 12
uint [ expr 16*10+14 ] ;# n-displacement (g-delta: 10-southeast=10,-10)
record TEXT
bits 00001100 ;# 0CNXYRTL
int -200 ;# text-y (relative)
uint 11 ;# repetition (9 times, grid 2, once in the middle, others displaced)
uint 7 ;# dimension (9)
uint 2 ;# grid
uint [ expr 16*5+0 ] ;# n-displacement (g-delta: 10-east=10,0)
uint [ expr 16*5+2 ] ;# n-displacement (g-delta: 10-north=0,10)
uint [ expr 16*5+4 ] ;# n-displacement (g-delta: 10-west=-10,0)
uint [ expr 16*20+6 ] ;# n-displacement (g-delta: 10-south=0,-40)
uint [ expr 16*5+8 ] ;# n-displacement (g-delta: 10-northeast=10,10)
uint [ expr 16*5+10 ] ;# n-displacement (g-delta: 10-northwest=-10,10)
uint [ expr 16*5+12 ] ;# n-displacement (g-delta: 10-southwest=-10,-10)
uint [ expr 16*10+14 ] ;# n-displacement (g-delta: 10-southeast=20,-20)
record TEXT
bits 00001100 ;# 0CNXYRTL
int -200 ;# text-y (relative)
uint 11 ;# repetition (3 times, once in the middle, two displaced)
uint 1 ;# dimension
uint 3 ;# grid (3)
uint [ expr 4*4+3 ] ;# n-displacement (g-delta: -12,12)
int 4
uint [ expr 16*3+14 ] ;# n-displacement (g-delta: 10-southeast=12,-12)
tail