On Thu, 2017-11-23 at 11:57 +0800, tchou wrote: > > > > Could you please share the examples of incorrect and correct > > behaviour? > > > > What is it exactly that you are trying to fix? You mention an > > issue > > with > > hangul characters, but I failed to trigger it. Could you expand on > > that? > > > Hi all, > There is an example.I use Mac mini to format my usb disk to HFS+ and > touch > the file with filename "공유"(a Korean actor, https://goo.gl/VcBsrn) > on > it. > After it, I mount the usb disk on my ubuntu(Linux 4.14.0+) and get > the > following error message when trying to ls and cp the file: > Could you share the all mount options that you used? It looks that you simply don't use the proper mount options set under the Linux. Because MacOS X will mount properly always. Thanks, Vyacheslav Dubeyko. > ls: cannot access 공유: No such file or directory > cp: cannot stat ‘공유’: No such file or directory > > It seem's a problem for a long time(https://goo.gl/LiWGe5). > After applying my patch, I can ls and cp the file correctly. > > > > > On Fri, Nov 17, 2017 at 04:20:05PM +0800, Ting-Chang Hou wrote: > > > > > > The unicode of hangul from macOS is decomposed. There has a bug > > > that > > > mistake decomposed unicode for composed when change unicode to > > > ascii, > > > so it cannot recognize the hangul correctly. > > > > > > Signed-off-by: Ting-Chang Hou <tchou@xxxxxxxxxxxx> > > > --- > > > fs/hfsplus/unicode.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/fs/hfsplus/unicode.c b/fs/hfsplus/unicode.c > > > index dfa90c2..2daf7b0 100644 > > > --- a/fs/hfsplus/unicode.c > > > +++ b/fs/hfsplus/unicode.c > > > @@ -135,7 +135,7 @@ int hfsplus_uni2asc(struct super_block *sb, > > > ustrlen = be16_to_cpu(ustr->length); > > > len = *len_p; > > > ce1 = NULL; > > > - compose = !test_bit(HFSPLUS_SB_NODECOMPOSE, > > > &HFSPLUS_SB(sb)->flags); > > > + compose = test_bit(HFSPLUS_SB_NODECOMPOSE, > > > &HFSPLUS_SB(sb)->flags); > > I'm not sure this is a mistake. The developers probably wanted the > > filenames to be recomposed before being presented in utf8. With > > your > > patch, > > if you try the following (with the default mount options): > > > > touch Á > > ls | hexdump -C > > > > the utf8 output filename will be using the combining accent (CC > > 81) > > instead > > of the Á character (C3 81). This is a bit annoying because it > > won't > > print > > correctly in my terminal anymore. > I'm not exatly know why combining accent cannot print correctly in > terminal > and how to avoid it. Whether apply my patch or not, my terminal > cannot > print the hangul charactor correctly. > >