SFGEN Web page header


Annotation File Syntax


This page describes the syntax of the annotation file. (2nd generation)


Global Settings

All annotation files require a Global Section to be declared at the top of the file before any other sections are defined.

The global section is declared at the top of the file with B_GLOBAL. The global section ends by declaring E_GLOBAL.


B_GLOBAL

... "Global settings go here" ...

E_GLOBAL

The "global settings" are required and must be declared in between the beginning and ending tags. Once the global settings are done then annotations text and bitmaps can be added.

The following are global settings:

MODAL <value>
                      **OPTIONAL**
                      - If YES, then values
                        in the B_TEXT or  
                        B_IMAGE are stored for 
                        reuse in subsequent
                        entries.
                      - Valid values: yes, no, 
                        on, off, true, or false
                      - Default: no

  
UNITS <value>
                      **OPTIONAL**
                      - Annotation file units.
                      - Output is always in UM. 
                      - Valid values: UM, MM, 
                      - CM, M, INCH, MILS 
                      - Default: UM 


GRID <number>
                      **OPTIONAL**
                      - SFGEN Usage Only
                        > Default grid value is
                          acquired from GDS input file
                      - Default: 0.001


ASPECT <number>
                      **OPTIONAL**
                      - Text aspect ratio: > 1.0 
                        widens; < 1.0 narrows.
                      - Text height constant. 
                      - Default: 1.0


SLANT <number>
                      **OPTIONAL**
                      - Text slant in degrees. 
                      - Numbers with decimals ok.
                      - Default: 0.0


SPACING <number>
                      **OPTIONAL**
                      - Multi line text spacing 
                        as multiple of text height.
                      - Numbers with decimals ok.
                      - Default: 1.2
  

STROKE_WEIGHT <number>
                      **OPTIONAL**
                      - stroke thickness 
                        for non fillable fonts.
                      - Thickness = 
                        (1/SW)* font_height
                      - Default: 10.0


OUTPUT_LAYER <layer>
                      **OPTIONAL**
                      - Map output to <layer>
                      - <layer> can be 'layer:datatype' 
                        or simply just 'layer'
                      - Default layer: 0
                      - Default datatype: 0


TTF_FONTDIR <value>
                      **OPTIONAL**
                      - Read-only font directory.
                      - Value: a directory path.
                      - Defaults to system variable 
                        in ACSLIB_TTF_FONTDIR


FONTDIR <value>
                      **OPTIONAL**
                      - Scratchpad area for compiled 
                        fonts.
                      - Value: a directory path.
                      - Defaults to system variable 
                        in ACSLIB_FONTDIR


BITMAPDIR <value>
                      **REQUIRED**
                      - Search in this folder for
                        fully qualified bitmap file
                      - Value: a directory path.


PIXELSIZE_UM <number>
                      **OPTIONAL**
                      - Scale parameter for bitmaps.
                      - Numbers with decimals ok.
                      - Default: 1.0


CIRCULARIZE <value>
                      **OPTIONAL**
                      - Circularize/smooth 
                        contour/fillable fonts/text.
                      - Valid values: yes, no, 
                        on, off, true, or false
                      - Default: true
ARCRES <number>
                      **OPTIONAL**
                      - Used when CIRCULARIZE 
                        is 'true'.
                      - Default: 45.0 


ARCRECOVERY <arc_recovery> <chord_error>  
                      **OPTIONAL**
                      - Used when CIRCULARIZE
                        is 'true'.
                      - Numbers with decimals ok.
                      - Defaults:
                        > arc_recovery: 2.5
                        > chord_error: 1.0


UNIONIZE <value>
                      **OPTIONAL**
                      - Unionze bitmap images
                      - Valid values: yes, no, 
                        on, off, true, or false
                      - Default: on


UNION_FLAVOR <value>
                      **OPTIONAL**
                      - Polygon output is butting
                        or cutline. 
                      - Valid Values: butting or 
                        cutline.
                      - Default: cutline.


THREADS <number>
                      **OPTIONAL**
                      - Maximum number of threads
                        to spawn.
                      - Number: positive integer. 
                      - Default: # of threads 
                        reported by the OS


SORT_SIZE <number>
                      **OPTIONAL**
                      - Threshold count between
                        binary and linear searches.
                      - Searches associated with 
                        duplicate bitmaps or 
                        annontations.
                      - Number should be a 
                        positive integer.
                      - Default: 100000


FORCE_FLAT <value>
                      **OPTIONAL**
                      - if YES, then  
                        annotations are 'flat'
                      - If no, each annotation
                      - is an inserted cell.
                      - Valid values: yes, no, 
                        on, off, true, or false
                      - Default: no
  

CHECK_BITMAP_UNIQUENESS <value> 
                      **OPTIONAL**
                      - Does not apply to SFGEN usage
                      - Requires using 'loa_add_bitmap(..)'
                        after using 'loa_open_from_file(..)'
                      - If TRUE, bitmaps are checked for 
                        duplicate entries
                      - If FALSE, no checks for are made
                      - Valid values: yes, no, 
                        on, off, true, or false
                      - Default: on


BITMAPS_PERSIST <value> 
                      **OPTIONAL**
                      - Does not apply to SFGEN usage
                      - Requires using 'loa_add_bitmap(..)'
                        after using 'loa_open_from_file(..)'
                      - If TRUE, user provided 
                        bitmap buffer will be used 
                        during 'loa_flush(..)'
                      - If FALSE, user provided 
                        bitmap buffer will be copied  
                      - Valid values: yes, no, 
                        on, off, true, or false
                      - Default: false


LOG_LEVEL <number>
                      **DEPRECATED**


Adding Annotative Text

Multipe text annotations can be added per file.

Each annotation needs to have a beginning tag and ending tag:

B_TEXT_ANNOTATION

... "Annotation message and settings here" ...

E_TEXT_ANNOTATION

To add the text message to an annotation declare B_STRING and E_STRING with you message in between them:

B_TEXT_ANNOTATION
B_STRING
This is a message
on multiple
lines.
E_STRING

... "More text annotations directives here" ...

E_TEXT_ANNOTATION

The "annotation settings" must be declared in between the beginning and ending tags for the annotation they apply to.

The following settings are available for annotations:


FONT <value>
                      - Specify font name.
                      - TTF and SHX supported.


XY <x_offset> <y_offset>
                      - define the 
                        insertion point of the 
                        annotation entry.
                      - Default: 0.0 0.0

  
  
HEIGHT <number>
                      - Height of the text in 
                        GDSII database units.
                      - Default: 1.0


INVERSE <value>
                      - Inverts the polarity 
                        of the annotation text.
                      - Value: yes, no, on,
                        off, true, or false.
                      - Default: off


HJUST <h_just>
                      - Specifies horizontal 
                        justification 
                        (alias for HORIZ_JUST)
                      - Value should be one of LEFT, 
                        MIDDDLE or RIGHT
                      - Default: LEFT

VJUST <V_just>
                      - Vertical justification 
                        (alias for VERT_JUST)
                      - Value should be one of TOP, 
                        MIDDLE or BOTTOM
                      - Default: BOTTOM

MIRRORX <x_anchor>
                      - Flips x values over the
                        axis at the 'x_anchor'.
                      - Default: 0.0


MIRRORY <y_anchor>
                      - Flips y values over the 
                        axis at the 'y_anchor'.
                      - Default: 0.0


MARGIN <number>
                      - Adds margin around the 
                        annonation text.
                      - Default: 0.0


FRAME <number>
                      - Adds a frame around the
                        annotation text.
                      - Default: 0.0


ROTATION <degrees>
                      - Rotate the annotation.
                      - Default: 0.0


ROTATION <degrees> <x_anchor> <y_anchor>   
                      - Rotate about a specified 
                        anchor point.
                      - Default: 0.0 0.0 0.0


Example below:
----------------------------
B_TEXT_ANNOTATION
B_STRING
Hello World!
E_STRING
FONT arial.ttf
XY 100.0 200.0
HEIGHT 65.0
INVERSE no
MIRRORX 0.0
MARGIN 10.0
FRAME 10.0
ROTATION 90.0 0.0 0.0
E_TEXT_ANNOTATION
----------------------------


Adding Bitmap Images

Multipe bitmaps can be added per file. Each bitmap needs to have a beginning tag and ending tag:

B_BITMAP

... "Bitmap information and settings go here" ...

E_BITMAP

To add a specific bitmap file to the entry you will use the key word "BITMAP" follows by the filename. You must declare the BITMAP in between the openning and closing string tags "B_BITMAP" and "E_BITMAP", like below:

B_BITMAP
BITMAP <filename>

... "Bitmap settings go here" ...

E_BITMAP

The "bitmap settings" must be declared in between the beginning and ending tags for the bitmap they apply to. The following settings are available for bitmap annotations:


XY <x_offset> <y_offset>
                      - Specify the insertion point
                        of the annotation entry.
                      - Default: 0.0 0.0


SCALE <number>
                      - Relative scaling parameter
                        for a particular bitmap.
                      - > 1.0 increases;
                        < 1.0 decreases
                      - Default: 1.0


INVERSE <value>
                      - Inverts the polarity of the
                        bitmap image.
                      - Value: yes, no, on,
                        off, true, or false.
                      - Default: off


MIRRORX <x_anchor>
                      - Flips x values over the axis
                        at the 'x_anchor'.
                      - Default: 0.0


MIRRORY <y_anchor>
                      - Flips y values over the axis
                        at the 'y_anchor'.
                      - Default: 0.0


ROTATION <degrees>
                      - Rotate the annotation.
                      - Default: 0.0


ROTATION <degrees> <x_anchor> <y_anchor>   
                      - Rotate about a specified 
                        anchor point.
                      - Default: 0.0 0.0 0.0

Example

B_BITMAP
BITMAP part_no_0_1.raw
SCALE 1.0
XY 100.0 200.0
INVERSE NO
MIRRORX 0.0
ROTATION 45.0 0.0 0.0
E_BITMAP