...

Source file src/github.com/common-nighthawk/go-figure/figlet-parser.go

Documentation: github.com/common-nighthawk/go-figure

     1  package figure
     2  
     3  import (
     4  	"strconv"
     5  	"strings"
     6  )
     7  
     8  const signature = "flf2"
     9  const reverseFlag = "1"
    10  
    11  var charDelimiters = [3]string{"@", "#", "$"}
    12  var hardblanksBlacklist = [2]byte{'a', '2'}
    13  
    14  func getHeight(metadata string) int {
    15  	datum := strings.Fields(metadata)[1]
    16  	height, _ := strconv.Atoi(datum)
    17  	return height
    18  }
    19  
    20  func getBaseline(metadata string) int {
    21  	datum := strings.Fields(metadata)[2]
    22  	baseline, _ := strconv.Atoi(datum)
    23  	return baseline
    24  }
    25  
    26  func getHardblank(metadata string) byte {
    27  	datum := strings.Fields(metadata)[0]
    28  	hardblank := datum[len(datum)-1]
    29  	if hardblank == hardblanksBlacklist[0] || hardblank == hardblanksBlacklist[1] {
    30  		return ' '
    31  	} else {
    32  		return hardblank
    33  	}
    34  }
    35  
    36  func getReverse(metadata string) bool {
    37  	data := strings.Fields(metadata)
    38  	return len(data) > 6 && data[6] == reverseFlag
    39  }
    40  
    41  func lastCharLine(text string, height int) bool {
    42  	endOfLine, length := "  ", 2
    43  	if height == 1 && len(text) > 0 {
    44  		length = 1
    45  	}
    46  	if len(text) >= length {
    47  		endOfLine = text[len(text)-length:]
    48  	}
    49  	return endOfLine == strings.Repeat(charDelimiters[0], length) ||
    50  		endOfLine == strings.Repeat(charDelimiters[1], length) ||
    51  		endOfLine == strings.Repeat(charDelimiters[2], length)
    52  }
    53  

View as plain text