зеркало из
https://github.com/docxology/cognitive.git
synced 2025-10-29 12:16:04 +02:00
Updates
Этот коммит содержится в:
родитель
6c689eb7ff
Коммит
25f46c6412
@ -1,59 +0,0 @@
|
||||
"""
|
||||
Main entry point for the ant colony simulation.
|
||||
"""
|
||||
|
||||
import argparse
|
||||
import yaml
|
||||
import numpy as np
|
||||
from ant_colony.visualization.renderer import SimulationRenderer
|
||||
from ant_colony.agents.nestmate import Nestmate, Position, TaskType
|
||||
from dataclasses import dataclass
|
||||
from typing import List
|
||||
|
||||
@dataclass
|
||||
class FoodSource:
|
||||
"""Represents a food source in the environment."""
|
||||
position: Position
|
||||
size: float
|
||||
value: float
|
||||
remaining: float
|
||||
|
||||
@dataclass
|
||||
class Obstacle:
|
||||
"""Represents an obstacle in the environment."""
|
||||
position: Position
|
||||
size: float
|
||||
|
||||
class Simulation:
|
||||
"""Main simulation class."""
|
||||
|
||||
def __init__(self, config_path: str):
|
||||
"""Initialize simulation with configuration."""
|
||||
with open(config_path, 'r') as f:
|
||||
self.config = yaml.safe_load(f)
|
||||
|
||||
# Set random seed
|
||||
np.random.seed(self.config['simulation']['random_seed'])
|
||||
|
||||
# Initialize environment
|
||||
self.env_size = self.config['environment']['size']
|
||||
self.nest_location = self.config['environment']['nest_location']
|
||||
|
||||
# Initialize agents
|
||||
self.agents = self._create_agents()
|
||||
|
||||
# Initialize resources
|
||||
self.food_sources = self._create_food_sources()
|
||||
self.obstacles = self._create_obstacles()
|
||||
|
||||
# Initialize pheromone grids
|
||||
self.pheromones = {
|
||||
'food': np.zeros(self.env_size),
|
||||
'home': np.zeros(self.env_size)
|
||||
}
|
||||
|
||||
# Setup visualization if enabled
|
||||
if self.config['visualization']['realtime']['enabled']:
|
||||
self.renderer = SimulationRenderer(self.config)
|
||||
else:
|
||||
self.renderer = None
|
||||
@ -1,247 +0,0 @@
|
||||
<#
|
||||
.Synopsis
|
||||
Activate a Python virtual environment for the current PowerShell session.
|
||||
|
||||
.Description
|
||||
Pushes the python executable for a virtual environment to the front of the
|
||||
$Env:PATH environment variable and sets the prompt to signify that you are
|
||||
in a Python virtual environment. Makes use of the command line switches as
|
||||
well as the `pyvenv.cfg` file values present in the virtual environment.
|
||||
|
||||
.Parameter VenvDir
|
||||
Path to the directory that contains the virtual environment to activate. The
|
||||
default value for this is the parent of the directory that the Activate.ps1
|
||||
script is located within.
|
||||
|
||||
.Parameter Prompt
|
||||
The prompt prefix to display when this virtual environment is activated. By
|
||||
default, this prompt is the name of the virtual environment folder (VenvDir)
|
||||
surrounded by parentheses and followed by a single space (ie. '(.venv) ').
|
||||
|
||||
.Example
|
||||
Activate.ps1
|
||||
Activates the Python virtual environment that contains the Activate.ps1 script.
|
||||
|
||||
.Example
|
||||
Activate.ps1 -Verbose
|
||||
Activates the Python virtual environment that contains the Activate.ps1 script,
|
||||
and shows extra information about the activation as it executes.
|
||||
|
||||
.Example
|
||||
Activate.ps1 -VenvDir C:\Users\MyUser\Common\.venv
|
||||
Activates the Python virtual environment located in the specified location.
|
||||
|
||||
.Example
|
||||
Activate.ps1 -Prompt "MyPython"
|
||||
Activates the Python virtual environment that contains the Activate.ps1 script,
|
||||
and prefixes the current prompt with the specified string (surrounded in
|
||||
parentheses) while the virtual environment is active.
|
||||
|
||||
.Notes
|
||||
On Windows, it may be required to enable this Activate.ps1 script by setting the
|
||||
execution policy for the user. You can do this by issuing the following PowerShell
|
||||
command:
|
||||
|
||||
PS C:\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
|
||||
|
||||
For more information on Execution Policies:
|
||||
https://go.microsoft.com/fwlink/?LinkID=135170
|
||||
|
||||
#>
|
||||
Param(
|
||||
[Parameter(Mandatory = $false)]
|
||||
[String]
|
||||
$VenvDir,
|
||||
[Parameter(Mandatory = $false)]
|
||||
[String]
|
||||
$Prompt
|
||||
)
|
||||
|
||||
<# Function declarations --------------------------------------------------- #>
|
||||
|
||||
<#
|
||||
.Synopsis
|
||||
Remove all shell session elements added by the Activate script, including the
|
||||
addition of the virtual environment's Python executable from the beginning of
|
||||
the PATH variable.
|
||||
|
||||
.Parameter NonDestructive
|
||||
If present, do not remove this function from the global namespace for the
|
||||
session.
|
||||
|
||||
#>
|
||||
function global:deactivate ([switch]$NonDestructive) {
|
||||
# Revert to original values
|
||||
|
||||
# The prior prompt:
|
||||
if (Test-Path -Path Function:_OLD_VIRTUAL_PROMPT) {
|
||||
Copy-Item -Path Function:_OLD_VIRTUAL_PROMPT -Destination Function:prompt
|
||||
Remove-Item -Path Function:_OLD_VIRTUAL_PROMPT
|
||||
}
|
||||
|
||||
# The prior PYTHONHOME:
|
||||
if (Test-Path -Path Env:_OLD_VIRTUAL_PYTHONHOME) {
|
||||
Copy-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME -Destination Env:PYTHONHOME
|
||||
Remove-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME
|
||||
}
|
||||
|
||||
# The prior PATH:
|
||||
if (Test-Path -Path Env:_OLD_VIRTUAL_PATH) {
|
||||
Copy-Item -Path Env:_OLD_VIRTUAL_PATH -Destination Env:PATH
|
||||
Remove-Item -Path Env:_OLD_VIRTUAL_PATH
|
||||
}
|
||||
|
||||
# Just remove the VIRTUAL_ENV altogether:
|
||||
if (Test-Path -Path Env:VIRTUAL_ENV) {
|
||||
Remove-Item -Path env:VIRTUAL_ENV
|
||||
}
|
||||
|
||||
# Just remove VIRTUAL_ENV_PROMPT altogether.
|
||||
if (Test-Path -Path Env:VIRTUAL_ENV_PROMPT) {
|
||||
Remove-Item -Path env:VIRTUAL_ENV_PROMPT
|
||||
}
|
||||
|
||||
# Just remove the _PYTHON_VENV_PROMPT_PREFIX altogether:
|
||||
if (Get-Variable -Name "_PYTHON_VENV_PROMPT_PREFIX" -ErrorAction SilentlyContinue) {
|
||||
Remove-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Scope Global -Force
|
||||
}
|
||||
|
||||
# Leave deactivate function in the global namespace if requested:
|
||||
if (-not $NonDestructive) {
|
||||
Remove-Item -Path function:deactivate
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.Description
|
||||
Get-PyVenvConfig parses the values from the pyvenv.cfg file located in the
|
||||
given folder, and returns them in a map.
|
||||
|
||||
For each line in the pyvenv.cfg file, if that line can be parsed into exactly
|
||||
two strings separated by `=` (with any amount of whitespace surrounding the =)
|
||||
then it is considered a `key = value` line. The left hand string is the key,
|
||||
the right hand is the value.
|
||||
|
||||
If the value starts with a `'` or a `"` then the first and last character is
|
||||
stripped from the value before being captured.
|
||||
|
||||
.Parameter ConfigDir
|
||||
Path to the directory that contains the `pyvenv.cfg` file.
|
||||
#>
|
||||
function Get-PyVenvConfig(
|
||||
[String]
|
||||
$ConfigDir
|
||||
) {
|
||||
Write-Verbose "Given ConfigDir=$ConfigDir, obtain values in pyvenv.cfg"
|
||||
|
||||
# Ensure the file exists, and issue a warning if it doesn't (but still allow the function to continue).
|
||||
$pyvenvConfigPath = Join-Path -Resolve -Path $ConfigDir -ChildPath 'pyvenv.cfg' -ErrorAction Continue
|
||||
|
||||
# An empty map will be returned if no config file is found.
|
||||
$pyvenvConfig = @{ }
|
||||
|
||||
if ($pyvenvConfigPath) {
|
||||
|
||||
Write-Verbose "File exists, parse `key = value` lines"
|
||||
$pyvenvConfigContent = Get-Content -Path $pyvenvConfigPath
|
||||
|
||||
$pyvenvConfigContent | ForEach-Object {
|
||||
$keyval = $PSItem -split "\s*=\s*", 2
|
||||
if ($keyval[0] -and $keyval[1]) {
|
||||
$val = $keyval[1]
|
||||
|
||||
# Remove extraneous quotations around a string value.
|
||||
if ("'""".Contains($val.Substring(0, 1))) {
|
||||
$val = $val.Substring(1, $val.Length - 2)
|
||||
}
|
||||
|
||||
$pyvenvConfig[$keyval[0]] = $val
|
||||
Write-Verbose "Adding Key: '$($keyval[0])'='$val'"
|
||||
}
|
||||
}
|
||||
}
|
||||
return $pyvenvConfig
|
||||
}
|
||||
|
||||
|
||||
<# Begin Activate script --------------------------------------------------- #>
|
||||
|
||||
# Determine the containing directory of this script
|
||||
$VenvExecPath = Split-Path -Parent $MyInvocation.MyCommand.Definition
|
||||
$VenvExecDir = Get-Item -Path $VenvExecPath
|
||||
|
||||
Write-Verbose "Activation script is located in path: '$VenvExecPath'"
|
||||
Write-Verbose "VenvExecDir Fullname: '$($VenvExecDir.FullName)"
|
||||
Write-Verbose "VenvExecDir Name: '$($VenvExecDir.Name)"
|
||||
|
||||
# Set values required in priority: CmdLine, ConfigFile, Default
|
||||
# First, get the location of the virtual environment, it might not be
|
||||
# VenvExecDir if specified on the command line.
|
||||
if ($VenvDir) {
|
||||
Write-Verbose "VenvDir given as parameter, using '$VenvDir' to determine values"
|
||||
}
|
||||
else {
|
||||
Write-Verbose "VenvDir not given as a parameter, using parent directory name as VenvDir."
|
||||
$VenvDir = $VenvExecDir.Parent.FullName.TrimEnd("\\/")
|
||||
Write-Verbose "VenvDir=$VenvDir"
|
||||
}
|
||||
|
||||
# Next, read the `pyvenv.cfg` file to determine any required value such
|
||||
# as `prompt`.
|
||||
$pyvenvCfg = Get-PyVenvConfig -ConfigDir $VenvDir
|
||||
|
||||
# Next, set the prompt from the command line, or the config file, or
|
||||
# just use the name of the virtual environment folder.
|
||||
if ($Prompt) {
|
||||
Write-Verbose "Prompt specified as argument, using '$Prompt'"
|
||||
}
|
||||
else {
|
||||
Write-Verbose "Prompt not specified as argument to script, checking pyvenv.cfg value"
|
||||
if ($pyvenvCfg -and $pyvenvCfg['prompt']) {
|
||||
Write-Verbose " Setting based on value in pyvenv.cfg='$($pyvenvCfg['prompt'])'"
|
||||
$Prompt = $pyvenvCfg['prompt'];
|
||||
}
|
||||
else {
|
||||
Write-Verbose " Setting prompt based on parent's directory's name. (Is the directory name passed to venv module when creating the virtual environment)"
|
||||
Write-Verbose " Got leaf-name of $VenvDir='$(Split-Path -Path $venvDir -Leaf)'"
|
||||
$Prompt = Split-Path -Path $venvDir -Leaf
|
||||
}
|
||||
}
|
||||
|
||||
Write-Verbose "Prompt = '$Prompt'"
|
||||
Write-Verbose "VenvDir='$VenvDir'"
|
||||
|
||||
# Deactivate any currently active virtual environment, but leave the
|
||||
# deactivate function in place.
|
||||
deactivate -nondestructive
|
||||
|
||||
# Now set the environment variable VIRTUAL_ENV, used by many tools to determine
|
||||
# that there is an activated venv.
|
||||
$env:VIRTUAL_ENV = $VenvDir
|
||||
|
||||
if (-not $Env:VIRTUAL_ENV_DISABLE_PROMPT) {
|
||||
|
||||
Write-Verbose "Setting prompt to '$Prompt'"
|
||||
|
||||
# Set the prompt to include the env name
|
||||
# Make sure _OLD_VIRTUAL_PROMPT is global
|
||||
function global:_OLD_VIRTUAL_PROMPT { "" }
|
||||
Copy-Item -Path function:prompt -Destination function:_OLD_VIRTUAL_PROMPT
|
||||
New-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Description "Python virtual environment prompt prefix" -Scope Global -Option ReadOnly -Visibility Public -Value $Prompt
|
||||
|
||||
function global:prompt {
|
||||
Write-Host -NoNewline -ForegroundColor Green "($_PYTHON_VENV_PROMPT_PREFIX) "
|
||||
_OLD_VIRTUAL_PROMPT
|
||||
}
|
||||
$env:VIRTUAL_ENV_PROMPT = $Prompt
|
||||
}
|
||||
|
||||
# Clear PYTHONHOME
|
||||
if (Test-Path -Path Env:PYTHONHOME) {
|
||||
Copy-Item -Path Env:PYTHONHOME -Destination Env:_OLD_VIRTUAL_PYTHONHOME
|
||||
Remove-Item -Path Env:PYTHONHOME
|
||||
}
|
||||
|
||||
# Add the venv to the PATH
|
||||
Copy-Item -Path Env:PATH -Destination Env:_OLD_VIRTUAL_PATH
|
||||
$Env:PATH = "$VenvExecDir$([System.IO.Path]::PathSeparator)$Env:PATH"
|
||||
@ -1,69 +0,0 @@
|
||||
# This file must be used with "source bin/activate" *from bash*
|
||||
# you cannot run it directly
|
||||
|
||||
deactivate () {
|
||||
# reset old environment variables
|
||||
if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then
|
||||
PATH="${_OLD_VIRTUAL_PATH:-}"
|
||||
export PATH
|
||||
unset _OLD_VIRTUAL_PATH
|
||||
fi
|
||||
if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then
|
||||
PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}"
|
||||
export PYTHONHOME
|
||||
unset _OLD_VIRTUAL_PYTHONHOME
|
||||
fi
|
||||
|
||||
# This should detect bash and zsh, which have a hash command that must
|
||||
# be called to get it to forget past commands. Without forgetting
|
||||
# past commands the $PATH changes we made may not be respected
|
||||
if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
|
||||
hash -r 2> /dev/null
|
||||
fi
|
||||
|
||||
if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then
|
||||
PS1="${_OLD_VIRTUAL_PS1:-}"
|
||||
export PS1
|
||||
unset _OLD_VIRTUAL_PS1
|
||||
fi
|
||||
|
||||
unset VIRTUAL_ENV
|
||||
unset VIRTUAL_ENV_PROMPT
|
||||
if [ ! "${1:-}" = "nondestructive" ] ; then
|
||||
# Self destruct!
|
||||
unset -f deactivate
|
||||
fi
|
||||
}
|
||||
|
||||
# unset irrelevant variables
|
||||
deactivate nondestructive
|
||||
|
||||
VIRTUAL_ENV=/home/trim/Documents/GitHub/cognitive/ant_colony_env
|
||||
export VIRTUAL_ENV
|
||||
|
||||
_OLD_VIRTUAL_PATH="$PATH"
|
||||
PATH="$VIRTUAL_ENV/"bin":$PATH"
|
||||
export PATH
|
||||
|
||||
# unset PYTHONHOME if set
|
||||
# this will fail if PYTHONHOME is set to the empty string (which is bad anyway)
|
||||
# could use `if (set -u; : $PYTHONHOME) ;` in bash
|
||||
if [ -n "${PYTHONHOME:-}" ] ; then
|
||||
_OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}"
|
||||
unset PYTHONHOME
|
||||
fi
|
||||
|
||||
if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then
|
||||
_OLD_VIRTUAL_PS1="${PS1:-}"
|
||||
PS1='(ant_colony_env) '"${PS1:-}"
|
||||
export PS1
|
||||
VIRTUAL_ENV_PROMPT='(ant_colony_env) '
|
||||
export VIRTUAL_ENV_PROMPT
|
||||
fi
|
||||
|
||||
# This should detect bash and zsh, which have a hash command that must
|
||||
# be called to get it to forget past commands. Without forgetting
|
||||
# past commands the $PATH changes we made may not be respected
|
||||
if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
|
||||
hash -r 2> /dev/null
|
||||
fi
|
||||
@ -1,26 +0,0 @@
|
||||
# This file must be used with "source bin/activate.csh" *from csh*.
|
||||
# You cannot run it directly.
|
||||
# Created by Davide Di Blasi <davidedb@gmail.com>.
|
||||
# Ported to Python 3.3 venv by Andrew Svetlov <andrew.svetlov@gmail.com>
|
||||
|
||||
alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; unsetenv VIRTUAL_ENV_PROMPT; test "\!:*" != "nondestructive" && unalias deactivate'
|
||||
|
||||
# Unset irrelevant variables.
|
||||
deactivate nondestructive
|
||||
|
||||
setenv VIRTUAL_ENV /home/trim/Documents/GitHub/cognitive/ant_colony_env
|
||||
|
||||
set _OLD_VIRTUAL_PATH="$PATH"
|
||||
setenv PATH "$VIRTUAL_ENV/"bin":$PATH"
|
||||
|
||||
|
||||
set _OLD_VIRTUAL_PROMPT="$prompt"
|
||||
|
||||
if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then
|
||||
set prompt = '(ant_colony_env) '"$prompt"
|
||||
setenv VIRTUAL_ENV_PROMPT '(ant_colony_env) '
|
||||
endif
|
||||
|
||||
alias pydoc python -m pydoc
|
||||
|
||||
rehash
|
||||
@ -1,69 +0,0 @@
|
||||
# This file must be used with "source <venv>/bin/activate.fish" *from fish*
|
||||
# (https://fishshell.com/); you cannot run it directly.
|
||||
|
||||
function deactivate -d "Exit virtual environment and return to normal shell environment"
|
||||
# reset old environment variables
|
||||
if test -n "$_OLD_VIRTUAL_PATH"
|
||||
set -gx PATH $_OLD_VIRTUAL_PATH
|
||||
set -e _OLD_VIRTUAL_PATH
|
||||
end
|
||||
if test -n "$_OLD_VIRTUAL_PYTHONHOME"
|
||||
set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME
|
||||
set -e _OLD_VIRTUAL_PYTHONHOME
|
||||
end
|
||||
|
||||
if test -n "$_OLD_FISH_PROMPT_OVERRIDE"
|
||||
set -e _OLD_FISH_PROMPT_OVERRIDE
|
||||
# prevents error when using nested fish instances (Issue #93858)
|
||||
if functions -q _old_fish_prompt
|
||||
functions -e fish_prompt
|
||||
functions -c _old_fish_prompt fish_prompt
|
||||
functions -e _old_fish_prompt
|
||||
end
|
||||
end
|
||||
|
||||
set -e VIRTUAL_ENV
|
||||
set -e VIRTUAL_ENV_PROMPT
|
||||
if test "$argv[1]" != "nondestructive"
|
||||
# Self-destruct!
|
||||
functions -e deactivate
|
||||
end
|
||||
end
|
||||
|
||||
# Unset irrelevant variables.
|
||||
deactivate nondestructive
|
||||
|
||||
set -gx VIRTUAL_ENV /home/trim/Documents/GitHub/cognitive/ant_colony_env
|
||||
|
||||
set -gx _OLD_VIRTUAL_PATH $PATH
|
||||
set -gx PATH "$VIRTUAL_ENV/"bin $PATH
|
||||
|
||||
# Unset PYTHONHOME if set.
|
||||
if set -q PYTHONHOME
|
||||
set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME
|
||||
set -e PYTHONHOME
|
||||
end
|
||||
|
||||
if test -z "$VIRTUAL_ENV_DISABLE_PROMPT"
|
||||
# fish uses a function instead of an env var to generate the prompt.
|
||||
|
||||
# Save the current fish_prompt function as the function _old_fish_prompt.
|
||||
functions -c fish_prompt _old_fish_prompt
|
||||
|
||||
# With the original prompt function renamed, we can override with our own.
|
||||
function fish_prompt
|
||||
# Save the return status of the last command.
|
||||
set -l old_status $status
|
||||
|
||||
# Output the venv prompt; color taken from the blue of the Python logo.
|
||||
printf "%s%s%s" (set_color 4B8BBE) '(ant_colony_env) ' (set_color normal)
|
||||
|
||||
# Restore the return status of the previous command.
|
||||
echo "exit $old_status" | .
|
||||
# Output the original/"old" prompt.
|
||||
_old_fish_prompt
|
||||
end
|
||||
|
||||
set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV"
|
||||
set -gx VIRTUAL_ENV_PROMPT '(ant_colony_env) '
|
||||
end
|
||||
@ -1,33 +0,0 @@
|
||||
#!/home/trim/Documents/GitHub/cognitive/ant_colony_env/bin/python3
|
||||
# EASY-INSTALL-ENTRY-SCRIPT: 'ant-colony','console_scripts','ant-colony'
|
||||
import re
|
||||
import sys
|
||||
|
||||
# for compatibility with easy_install; see #2198
|
||||
__requires__ = 'ant-colony'
|
||||
|
||||
try:
|
||||
from importlib.metadata import distribution
|
||||
except ImportError:
|
||||
try:
|
||||
from importlib_metadata import distribution
|
||||
except ImportError:
|
||||
from pkg_resources import load_entry_point
|
||||
|
||||
|
||||
def importlib_load_entry_point(spec, group, name):
|
||||
dist_name, _, _ = spec.partition('==')
|
||||
matches = (
|
||||
entry_point
|
||||
for entry_point in distribution(dist_name).entry_points
|
||||
if entry_point.group == group and entry_point.name == name
|
||||
)
|
||||
return next(matches).load()
|
||||
|
||||
|
||||
globals().setdefault('load_entry_point', importlib_load_entry_point)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(load_entry_point('ant-colony', 'console_scripts', 'ant-colony')())
|
||||
@ -1,8 +0,0 @@
|
||||
#!/home/trim/Documents/GitHub/cognitive/ant_colony_env/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from numpy.f2py.f2py2e import main
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(main())
|
||||
@ -1,8 +0,0 @@
|
||||
#!/home/trim/Documents/GitHub/cognitive/ant_colony_env/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from fontTools.__main__ import main
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(main())
|
||||
@ -1,8 +0,0 @@
|
||||
#!/home/trim/Documents/GitHub/cognitive/ant_colony_env/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from numpy._configtool import main
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(main())
|
||||
@ -1,8 +0,0 @@
|
||||
#!/home/trim/Documents/GitHub/cognitive/ant_colony_env/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from pip._internal.cli.main import main
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(main())
|
||||
@ -1,8 +0,0 @@
|
||||
#!/home/trim/Documents/GitHub/cognitive/ant_colony_env/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from pip._internal.cli.main import main
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(main())
|
||||
@ -1,8 +0,0 @@
|
||||
#!/home/trim/Documents/GitHub/cognitive/ant_colony_env/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from pip._internal.cli.main import main
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(main())
|
||||
@ -1,8 +0,0 @@
|
||||
#!/home/trim/Documents/GitHub/cognitive/ant_colony_env/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from fontTools.merge import main
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(main())
|
||||
@ -1,8 +0,0 @@
|
||||
#!/home/trim/Documents/GitHub/cognitive/ant_colony_env/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from fontTools.subset import main
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(main())
|
||||
@ -1 +0,0 @@
|
||||
python3
|
||||
@ -1 +0,0 @@
|
||||
/usr/bin/python3
|
||||
@ -1 +0,0 @@
|
||||
python3
|
||||
@ -1,8 +0,0 @@
|
||||
#!/home/trim/Documents/GitHub/cognitive/ant_colony_env/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
import sys
|
||||
from fontTools.ttx import main
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(main())
|
||||
@ -1 +0,0 @@
|
||||
lib
|
||||
@ -1,5 +0,0 @@
|
||||
home = /usr/bin
|
||||
include-system-site-packages = false
|
||||
version = 3.11.2
|
||||
executable = /usr/bin/python3.11
|
||||
command = /home/trim/Documents/GitHub/cognitive/ant_colony_env/bin/python3 -m venv /home/trim/Documents/GitHub/cognitive/ant_colony_env
|
||||
@ -1,225 +0,0 @@
|
||||
.Dd May 18, 2004
|
||||
.\" ttx is not specific to any OS, but contrary to what groff_mdoc(7)
|
||||
.\" seems to imply, entirely omitting the .Os macro causes 'BSD' to
|
||||
.\" be used, so I give a zero-width space as its argument.
|
||||
.Os \&
|
||||
.\" The "FontTools Manual" argument apparently has no effect in
|
||||
.\" groff 1.18.1. I think it is a bug in the -mdoc groff package.
|
||||
.Dt TTX 1 "FontTools Manual"
|
||||
.Sh NAME
|
||||
.Nm ttx
|
||||
.Nd tool for manipulating TrueType and OpenType fonts
|
||||
.Sh SYNOPSIS
|
||||
.Nm
|
||||
.Bk
|
||||
.Op Ar option ...
|
||||
.Ek
|
||||
.Bk
|
||||
.Ar file ...
|
||||
.Ek
|
||||
.Sh DESCRIPTION
|
||||
.Nm
|
||||
is a tool for manipulating TrueType and OpenType fonts. It can convert
|
||||
TrueType and OpenType fonts to and from an
|
||||
.Tn XML Ns -based format called
|
||||
.Tn TTX .
|
||||
.Tn TTX
|
||||
files have a
|
||||
.Ql .ttx
|
||||
extension.
|
||||
.Pp
|
||||
For each
|
||||
.Ar file
|
||||
argument it is given,
|
||||
.Nm
|
||||
detects whether it is a
|
||||
.Ql .ttf ,
|
||||
.Ql .otf
|
||||
or
|
||||
.Ql .ttx
|
||||
file and acts accordingly: if it is a
|
||||
.Ql .ttf
|
||||
or
|
||||
.Ql .otf
|
||||
file, it generates a
|
||||
.Ql .ttx
|
||||
file; if it is a
|
||||
.Ql .ttx
|
||||
file, it generates a
|
||||
.Ql .ttf
|
||||
or
|
||||
.Ql .otf
|
||||
file.
|
||||
.Pp
|
||||
By default, every output file is created in the same directory as the
|
||||
corresponding input file and with the same name except for the
|
||||
extension, which is substituted appropriately.
|
||||
.Nm
|
||||
never overwrites existing files; if necessary, it appends a suffix to
|
||||
the output file name before the extension, as in
|
||||
.Pa Arial#1.ttf .
|
||||
.Ss "General options"
|
||||
.Bl -tag -width ".Fl t Ar table"
|
||||
.It Fl h
|
||||
Display usage information.
|
||||
.It Fl d Ar dir
|
||||
Write the output files to directory
|
||||
.Ar dir
|
||||
instead of writing every output file to the same directory as the
|
||||
corresponding input file.
|
||||
.It Fl o Ar file
|
||||
Write the output to
|
||||
.Ar file
|
||||
instead of writing it to the same directory as the
|
||||
corresponding input file.
|
||||
.It Fl v
|
||||
Be verbose. Write more messages to the standard output describing what
|
||||
is being done.
|
||||
.It Fl a
|
||||
Allow virtual glyphs ID's on compile or decompile.
|
||||
.El
|
||||
.Ss "Dump options"
|
||||
The following options control the process of dumping font files
|
||||
(TrueType or OpenType) to
|
||||
.Tn TTX
|
||||
files.
|
||||
.Bl -tag -width ".Fl t Ar table"
|
||||
.It Fl l
|
||||
List table information. Instead of dumping the font to a
|
||||
.Tn TTX
|
||||
file, display minimal information about each table.
|
||||
.It Fl t Ar table
|
||||
Dump table
|
||||
.Ar table .
|
||||
This option may be given multiple times to dump several tables at
|
||||
once. When not specified, all tables are dumped.
|
||||
.It Fl x Ar table
|
||||
Exclude table
|
||||
.Ar table
|
||||
from the list of tables to dump. This option may be given multiple
|
||||
times to exclude several tables from the dump. The
|
||||
.Fl t
|
||||
and
|
||||
.Fl x
|
||||
options are mutually exclusive.
|
||||
.It Fl s
|
||||
Split tables. Dump each table to a separate
|
||||
.Tn TTX
|
||||
file and write (under the name that would have been used for the output
|
||||
file if the
|
||||
.Fl s
|
||||
option had not been given) one small
|
||||
.Tn TTX
|
||||
file containing references to the individual table dump files. This
|
||||
file can be used as input to
|
||||
.Nm
|
||||
as long as the referenced files can be found in the same directory.
|
||||
.It Fl i
|
||||
.\" XXX: I suppose OpenType programs (exist and) are also affected.
|
||||
Don't disassemble TrueType instructions. When this option is specified,
|
||||
all TrueType programs (glyph programs, the font program and the
|
||||
pre-program) are written to the
|
||||
.Tn TTX
|
||||
file as hexadecimal data instead of
|
||||
assembly. This saves some time and results in smaller
|
||||
.Tn TTX
|
||||
files.
|
||||
.It Fl y Ar n
|
||||
When decompiling a TrueType Collection (TTC) file,
|
||||
decompile font number
|
||||
.Ar n ,
|
||||
starting from 0.
|
||||
.El
|
||||
.Ss "Compilation options"
|
||||
The following options control the process of compiling
|
||||
.Tn TTX
|
||||
files into font files (TrueType or OpenType):
|
||||
.Bl -tag -width ".Fl t Ar table"
|
||||
.It Fl m Ar fontfile
|
||||
Merge the input
|
||||
.Tn TTX
|
||||
file
|
||||
.Ar file
|
||||
with
|
||||
.Ar fontfile .
|
||||
No more than one
|
||||
.Ar file
|
||||
argument can be specified when this option is used.
|
||||
.It Fl b
|
||||
Don't recalculate glyph bounding boxes. Use the values in the
|
||||
.Tn TTX
|
||||
file as is.
|
||||
.El
|
||||
.Sh "THE TTX FILE FORMAT"
|
||||
You can find some information about the
|
||||
.Tn TTX
|
||||
file format in
|
||||
.Pa documentation.html .
|
||||
In particular, you will find in that file the list of tables understood by
|
||||
.Nm
|
||||
and the relations between TrueType GlyphIDs and the glyph names used in
|
||||
.Tn TTX
|
||||
files.
|
||||
.Sh EXAMPLES
|
||||
In the following examples, all files are read from and written to the
|
||||
current directory. Additionally, the name given for the output file
|
||||
assumes in every case that it did not exist before
|
||||
.Nm
|
||||
was invoked.
|
||||
.Pp
|
||||
Dump the TrueType font contained in
|
||||
.Pa FreeSans.ttf
|
||||
to
|
||||
.Pa FreeSans.ttx :
|
||||
.Pp
|
||||
.Dl ttx FreeSans.ttf
|
||||
.Pp
|
||||
Compile
|
||||
.Pa MyFont.ttx
|
||||
into a TrueType or OpenType font file:
|
||||
.Pp
|
||||
.Dl ttx MyFont.ttx
|
||||
.Pp
|
||||
List the tables in
|
||||
.Pa FreeSans.ttf
|
||||
along with some information:
|
||||
.Pp
|
||||
.Dl ttx -l FreeSans.ttf
|
||||
.Pp
|
||||
Dump the
|
||||
.Sq cmap
|
||||
table from
|
||||
.Pa FreeSans.ttf
|
||||
to
|
||||
.Pa FreeSans.ttx :
|
||||
.Pp
|
||||
.Dl ttx -t cmap FreeSans.ttf
|
||||
.Sh NOTES
|
||||
On MS\-Windows and MacOS,
|
||||
.Nm
|
||||
is available as a graphical application to which files can be dropped.
|
||||
.Sh SEE ALSO
|
||||
.Pa documentation.html
|
||||
.Pp
|
||||
.Xr fontforge 1 ,
|
||||
.Xr ftinfo 1 ,
|
||||
.Xr gfontview 1 ,
|
||||
.Xr xmbdfed 1 ,
|
||||
.Xr Font::TTF 3pm
|
||||
.Sh AUTHORS
|
||||
.Nm
|
||||
was written by
|
||||
.An -nosplit
|
||||
.An "Just van Rossum" Aq just@letterror.com .
|
||||
.Pp
|
||||
This manual page was written by
|
||||
.An "Florent Rougon" Aq f.rougon@free.fr
|
||||
for the Debian GNU/Linux system based on the existing FontTools
|
||||
documentation. It may be freely used, modified and distributed without
|
||||
restrictions.
|
||||
.\" For Emacs:
|
||||
.\" Local Variables:
|
||||
.\" fill-column: 72
|
||||
.\" sentence-end: "[.?!][]\"')}]*\\($\\| $\\| \\| \\)[ \n]*"
|
||||
.\" sentence-end-double-space: t
|
||||
.\" End:
|
||||
Загрузка…
x
Ссылка в новой задаче
Block a user