| 123456789101112131415161718192021222324252627282930313233343536 |
- // +build dragonfly freebsd linux nacl netbsd openbsd solaris
- // Copyright 2016 Florian Pigorsch. All rights reserved.
- //
- // Use of this source code is governed by a MIT-style
- // license that can be found in the LICENSE file.
- package findfont
- import (
- "os"
- "path/filepath"
- )
- func getFontDirectories() (paths []string) {
- directories := getUserFontDirs()
- directories = append(directories, getSystemFontDirs()...)
- return directories
- }
- func getUserFontDirs() (paths []string) {
- if dataPath := os.Getenv("XDG_DATA_HOME"); dataPath != "" {
- return []string{expandUser("~/.fonts/"), filepath.Join(expandUser(dataPath), "fonts")}
- }
- return []string{expandUser("~/.fonts/"), expandUser("~/.local/share/fonts/")}
- }
- func getSystemFontDirs() (paths []string) {
- if dataPaths := os.Getenv("XDG_DATA_DIRS"); dataPaths != "" {
- for _, dataPath := range filepath.SplitList(dataPaths) {
- paths = append(paths, filepath.Join(expandUser(dataPath), "fonts"))
- }
- return paths
- }
- return []string{"/usr/local/share/fonts/", "/usr/share/fonts/"}
- }
|