diff --git a/raylib/raylib_purego.go b/raylib/raylib_purego.go index f70512e..6651673 100644 --- a/raylib/raylib_purego.go +++ b/raylib/raylib_purego.go @@ -2829,9 +2829,12 @@ func LoadFont(fileName string) Font { } // LoadFontEx - Load font from file with extended parameters, use NULL for codepoints and 0 for codepointCount to load the default character setFont -func LoadFontEx(fileName string, fontSize int32, codepoints []rune) Font { +func LoadFontEx(fileName string, fontSize int32, codepoints []rune, runesNumber ...int32) Font { var font Font codepointCount := int32(len(codepoints)) + if len(runesNumber) > 0 { + codepointCount = int32(runesNumber[0]) + } loadFontEx(uintptr(unsafe.Pointer(&font)), fileName, fontSize, codepoints, codepointCount) return font } diff --git a/raylib/rtext.go b/raylib/rtext.go index 35deef8..684c690 100644 --- a/raylib/rtext.go +++ b/raylib/rtext.go @@ -47,7 +47,7 @@ func LoadFont(fileName string) Font { } // LoadFontEx - Load Font from file with extended parameters -func LoadFontEx(fileName string, fontSize int32, fontChars []rune) Font { +func LoadFontEx(fileName string, fontSize int32, fontChars []rune, runesNumber ...int32) Font { var cfontChars *C.int var ccharsCount C.int @@ -58,6 +58,11 @@ func LoadFontEx(fileName string, fontSize int32, fontChars []rune) Font { cfontChars = (*C.int)(unsafe.Pointer(&fontChars[0])) ccharsCount = (C.int)(len(fontChars)) } + if fontChars == nil { + if len(runesNumber) > 0 { + ccharsCount = (C.int)(runesNumber[0]) + } + } ret := C.LoadFontEx(cfileName, cfontSize, cfontChars, ccharsCount) v := newFontFromPointer(unsafe.Pointer(&ret)) return v