func WrapStringPreserve(s string, length int) (lines []string) {
	// split the string into lines and treat each line seperatly
	for _, line := range strings.Split(strings.Replace(s, "\r\n", "\n", -1), "\n") {
		lines = append(lines, WrapLinePreserve(line, length)...)
	}

	return
}
// WrapStringPreserve is like WrapLinePreserve except that it treats
// each line in the input seperatly
WrapStringPreserve is like WrapLinePreserve except that it treats
each line in the input seperatly
// WrapStringPreserve is like WrapLinePreserve except that it treats // each line in the input seperatly
func WrapStringPreserve(s string, length int) (lines []string) {
	for _, line := range strings.Split(strings.Replace(s, "\r\n", "\n", -1), "\n") {
		lines = append(lines, WrapLinePreserve(line, length)...)
	}
	return
}
func WrapStringPreserve ( s string , length int ) ( lines [ ] string ) { for _ , line := range strings . Split ( strings . Replace ( s , " \r \n " , " \n " , - 1 ) , " \n " ) { lines = append ( lines , WrapLinePreserve ( line , length ) ... ) } return }
WrapStringPreserve is like WrapLinePreserve except that it treats
each line in the input seperatly
WrapStringPreserve is like WrapLinePreserve except that it treats each line in the input seperatly
// split the string into lines and treat each line seperatly