Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F2895606
generate_emoji.php
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Award Token
Flag For Later
Advanced/Developer...
View Handle
View Hovercard
Size
1 KB
Referenced Files
None
Subscribers
None
generate_emoji.php
View Options
#!/usr/bin/env php
<?php
require_once
dirname
(
dirname
(
__FILE__
)
)
.
'/__init_script__.php'
;
$args
=
new
PhutilArgumentParser
(
$argv
)
;
$args
->
setTagline
(
pht
(
'regenerate Emoji data sheets'
)
)
;
$args
->
setSynopsis
(
<<<EOHELP
**emoji**
Rebuild Emoji data sheets.
EOHELP
)
;
$args
->
parseStandardArguments
(
)
;
$args
->
parse
(
array
(
array
(
'name'
=>
'force'
,
'help'
=>
pht
(
'Force regeneration even if sources have not changed.'
)
,
)
,
)
)
;
$root
=
dirname
(
phutil_get_library_root
(
'phabricator'
)
)
;
// move this to an argument?
$path
=
$root
.
'/emoji_strategy.json'
;
$export_path
=
$root
.
'/resources/emoji/manifest.json'
;
if
(
Filesystem
::
pathExists
(
$path
)
)
{
$json
=
Filesystem
::
readFile
(
$path
)
;
$emojis
=
phutil_json_decode
(
$json
)
;
$data
=
array
(
)
;
foreach
(
$emojis
as
$shortname
=>
$emoji
)
{
$unicode
=
$emoji
[
'unicode'
]
;
$codes
=
explode
(
'-'
,
$unicode
)
;
$hex
=
''
;
foreach
(
$codes
as
$code
)
{
$hex
.=
phutil_utf8_encode_codepoint
(
hexdec
(
$code
)
)
;
}
$data
[
$shortname
]
=
$hex
;
}
ksort
(
$data
)
;
$json
=
new
PhutilJSON
(
)
;
$data
=
$json
->
encodeFormatted
(
$data
)
;
Filesystem
::
writeFile
(
$export_path
,
$data
)
;
echo
pht
(
'Done.'
)
.
"\n"
;
}
else
{
echo
pht
(
'Path %s not exist.'
,
$path
)
.
"\n"
;
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Jan 19 2025, 21:44 (6 w, 2 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1111330
Default Alt Text
generate_emoji.php (1 KB)
Attached To
Mode
rP Phorge
Attached
Detach File
Event Timeline
Log In to Comment