View Single Post
Old 12-04-2023, 04:05 PM   #971
BruDeV
Junior Member
BruDeV began at the beginning.
 
Posts: 5
Karma: 10
Join Date: Nov 2019
Location: southern California
Device: Kindle Fire, Android tablet, PC
Windows filename aliases

Code:
program:
# windows filename aliases

	windows_alias_000 = titlecase(uppercase(field('title')));

# less-than sign -> left arrowhead \u02c2
	windows_alias_010 = re(windows_alias_000, "<", "˂" );
# greater-than sign -> right arrowhead \u02c3
	windows_alias_020 = re(windows_alias_010, ">", "˃" );
# colon -> modifier colon \uA789
	windows_alias_030 = re(windows_alias_020, ":", "꞉" );
# quote marks, -> single quote \u0027
	windows_alias_040 = re(windows_alias_030, "(\"|‘|’|‚|‛|“|”|„|‟)", "'" );
# solidus, division slash, fraction slash -> big solidus \u29f8
	windows_alias_050 = re(windows_alias_040, "(/|∕|⁄)", "⧸" );
# reverse solidus -> big reverse solidus \u29f9
	windows_alias_060 = re(windows_alias_050, "\u005c", "⧹" );
# vertical line -> broken bar \u00a6
	windows_alias_070 = re(windows_alias_060, "\|", "¦" );
# question mark -> Devanagan glottal stop \u097d
	windows_alias_080 = re(windows_alias_070, "\?", "ॽ" );
# asterisk -> flower puncuation mark \u2055
	windows_alias_090 = re(windows_alias_080, "\*", "⁕" );
# period, raised dot, two dot leader, one dot leader -> stenographic full stop \u2e3c
	windows_alias_100 = re(windows_alias_090, "(\.|⸳|‥|․)", "⸼" );
	
# extra stuff

# change multiple stenographic full stops to -> elipsis \u2026
	windows_alias_110 = re(windows_alias_100, "(⸼⸼⸼|⸼ ⸼ ⸼)", "…" );
# change versus
	windows_alias_120 = re(windows_alias_110, "\bversus\b", "vs" );
	windows_alias_130 = re(windows_alias_210, " vs: ", " vs " );
# change figure dash, en dash, em dash to -> hyphen-minus
	windows_alias_140 = re(windows_alias_220, "(‒|–|—)", " - " );
	windows_alias_150 = re(windows_alias_230, "--", "-" );
	windows_alias_160 = re(windows_alias_240, "- - -", " - " );

# add space after 'modifier colon' or 'stenographic full stop'
	windows_alias_200 = re(windows_alias_160, "(꞉|⸼\D)(\w)", "\1 \2" );

# remove extra spaces	
	windows_alias_900 = re(windows_alias_200, "( {2,})", " " );
	windows_alias_910 = re(windows_alias_900, "^( )(.*)", "\2" );
	windows_alias_920 = re(windows_alias_910, "(.*)( )$", "\1" );

Last edited by chaley; 12-04-2023 at 04:28 PM. Reason: Put template in [code] tags
BruDeV is offline   Reply With Quote